minerbot-phoenix/plugins/stevenuniverse.py

33 lines
921 B
Python

import markovuniverse,plugin,sys
SUBCMDS = dict()
USAGE = dict()
def reg_subcmd(name,format=""):
def _register(func):
SUBCMDS[name]=func
USAGE[name]=" ".join(filter(None,[name,format]))
return _register
@plugin.command("stevenuniverse","<subcmd> [args]")
def stevenuniverse(bot,channel,nick,subcmd=None,*args):
if not subcmd: subcmd = "help"
if subcmd not in SUBCMDS: subcmd = "help"
try:
SUBCMDS[subcmd](bot,channel,nick,*args)
except ValueError:
bot.say("Usage: !{} {}".format(bot.cmd,USAGE[subcmd]))
except:
print("!{} {} {}".format(bot.cmd,subcmd," ".join(args)))
raise
plugin.alias("su","stevenuniverse")
@reg_subcmd("help")
def help(bot,channel,nick,*a):
bot.say(channel,"{}: Current !{} subcommands are {}".format(nick,bot.cmd,", ".join(SUBCMDS.keys())))
@reg_subcmd("fake-leak")
def fakeleak(bot,channel,nick,*a):
bot.say(channel,nick+": {} - {}".format(*markovuniverse.new_episode()))