This repository has been archived on 2023-04-13. You can view files and clone it, but cannot push or open issues or pull requests.
CloudBot/plugins/namegen.py

43 lines
1.3 KiB
Python
Raw Normal View History

# Plugin by Lukeroge
# <lukeroge@gmail.com> <https://github.com/lukeroge/CloudBot/>
from util import hook, molecular
2012-02-02 14:05:11 +01:00
import unicodedata
2011-11-22 02:36:12 +01:00
@hook.command()
2012-02-29 09:29:53 +01:00
def namegen(inp, say=None, nick=None, input=None, notice=None):
2012-02-28 03:03:43 +01:00
".namegen [modules] -- Generates some names using the chosen modules. '.namegen list' will display a list of all modules."
2011-11-22 02:36:12 +01:00
gen = molecular.Molecule()
2011-11-22 02:36:12 +01:00
2012-02-29 09:29:53 +01:00
all_modules = gen.list_modules() # get a list of available name files
2011-11-22 02:36:12 +01:00
# return a list of all available modules
2011-11-22 02:36:12 +01:00
if inp == "list":
message = "Available modules: "
message += ', '.join(map(str, all_modules))
notice(message)
2011-11-22 02:45:30 +01:00
return
2012-02-02 14:05:11 +01:00
modules = []
2012-02-29 09:29:53 +01:00
selected_modules = inp.split(' ') # split the input into a list of modules
2011-11-22 02:36:12 +01:00
2012-02-29 09:29:53 +01:00
for module in selected_modules: # loop over the "selected_modules" list, and load any valid modules
2011-11-22 02:36:12 +01:00
if module in all_modules:
gen.load(module.encode('ascii'))
2012-02-29 09:29:53 +01:00
if not gen.name(): # lets try making a name to see if any modules actually got loaded
2011-11-22 02:36:12 +01:00
return "No valid modules specified :("
# time to generate some names and put them in a list
name_list = []
for i in range(8):
name_list.append(gen.name())
# and finally render the final message :D
2011-11-22 02:36:12 +01:00
message = "Here are some names: "
message += ', '.join(map(str, name_list))
2011-11-22 02:36:12 +01:00
return message