diff --git a/sopel_modules/SpiceBot_BotPrivs/BotPrivs.py b/sopel_modules/SpiceBot_BotPrivs/BotPrivs.py new file mode 100644 index 0000000..47a74e1 --- /dev/null +++ b/sopel_modules/SpiceBot_BotPrivs/BotPrivs.py @@ -0,0 +1,29 @@ +# coding=utf-8 + +from __future__ import unicode_literals, absolute_import, division, print_function + +import sopel.module + +import sopel_modules.osd +import spicemanip + +from sopel_modules.SpiceBot_SBTools import sopel_triggerargs, bot_privs + + +def configure(config): + pass + + +def setup(bot): + pass + + +@sopel.module.nickname_commands('admins', 'owners', 'owner') +def bot_command_hub(bot, trigger): + triggerargs, triggercommand = sopel_triggerargs(bot, trigger, 'nickname_command') + + if triggercommand == 'owner': + triggercommand = 'owners' + + privlist = spicemanip.main(bot_privs(bot, triggercommand), 'andlist') + bot.osd(str(bot.nick) + " " + triggercommand + ": " + privlist) diff --git a/sopel_modules/SpiceBot_BotPrivs/__init__.py b/sopel_modules/SpiceBot_BotPrivs/__init__.py new file mode 100644 index 0000000..b391635 --- /dev/null +++ b/sopel_modules/SpiceBot_BotPrivs/__init__.py @@ -0,0 +1,8 @@ +# coding=utf8 +from __future__ import unicode_literals, absolute_import, division, print_function + +from .BotPrivs import * + +__author__ = 'Sam Zick' +__email__ = 'sam@deathbybandaid.net' +__version__ = '0.1.0' diff --git a/sopel_modules/SpiceBot_Messaging/Messaging.py b/sopel_modules/SpiceBot_Messaging/Messaging.py index fd54f7c..7c98550 100644 --- a/sopel_modules/SpiceBot_Messaging/Messaging.py +++ b/sopel_modules/SpiceBot_Messaging/Messaging.py @@ -38,7 +38,7 @@ def bot_command_hub(bot, trigger): bot.osd("Channel/nick name {} not valid.".format(target)) return - triggerargs = spicemanip.main(triggerargs, '2+') + triggerargs = spicemanip.main(triggerargs, '2+', 'list') if target == 'allchans': targetsendlist = bot.channels.keys() diff --git a/sopel_modules/SpiceBot_SBTools/__init__.py b/sopel_modules/SpiceBot_SBTools/__init__.py index 204ca6a..160b3fa 100644 --- a/sopel_modules/SpiceBot_SBTools/__init__.py +++ b/sopel_modules/SpiceBot_SBTools/__init__.py @@ -36,15 +36,20 @@ def sopel_triggerargs(bot, trigger, command_type='module_command'): return triggerargs, command +def bot_privs(bot, privtype): + botpriveval = eval("bot.config.core." + privtype) + if not isinstance(botpriveval, list): + botpriveval = [botpriveval] + return botpriveval + + def command_permissions_check(bot, trigger, privslist): commandrunconsensus = [] for botpriv in ["admins", "owner"]: if botpriv in privslist: - botpriveval = eval("bot.config.core." + botpriv) - if not isinstance(botpriveval, list): - botpriveval = [botpriv] + botpriveval = bot_privs(bot, botpriv) if not inlist(bot, trigger.nick, botpriveval): commandrunconsensus.append('False') else: