import itertools from sopel import plugin from sopel_SpiceBot_Core_1 import sb from sopel_SpiceBot_Core_Prerun import prerun @prerun() @plugin.nickname_command('test') def sb_test_commands(bot, trigger): bot.say("%s" % trigger.raw) @plugin.nickname_command('command_groups') def sb_test_command_groups(bot, trigger): plugin_commands = itertools.chain( bot._rules_manager.get_all_commands(), bot._rules_manager.get_all_nick_commands(), ) result = {} for plugin_name, commands in plugin_commands: if plugin_name not in result: result[plugin_name] = list(sorted(commands.keys())) else: result[plugin_name].extend(commands.keys()) result[plugin_name] = list(sorted(result[plugin_name])) bot.say(str(result)) # sb.osd(msgs, trigger.sender) @prerun() @plugin.nickname_command('commands') def sopel_commands(bot, trigger): bot.say("testing commands") for x in sb.commands.sopel_commands: bot.say(str(x)) for y in x: bot.say(str(y)) @prerun() @plugin.nickname_command('nickname_commands') def sopel_nickname_commands(bot, trigger): bot.say("testing nickname_commands") for x in sb.commands.sopel_nickname_commands: bot.say(str(x)) for y in x: bot.say(str(y)) @prerun() @plugin.nickname_command('action_commands') def sopel_action_commands(bot, trigger): bot.say("testing action_commands") for x in sb.commands.sopel_action_commands: bot.say(str(x)) for y in x: bot.say(str(y))