diff --git a/modules/alias_variables.py b/modules/alias_variables.py new file mode 100644 index 00000000..6f2499a3 --- /dev/null +++ b/modules/alias_variables.py @@ -0,0 +1,12 @@ +import random +from src import EventManager, ModuleManager, utils + +class Module(ModuleManager.BaseModule): + @utils.hook("get.command") + @utils.kwarg("priority", EventManager.PRIORITY_HIGH) + def get_command(self, event): + event["kwargs"]["NICK"] = event["user"].nickname + if event["is_channel"]: + event["kwargs"]["CHAN"] = event["target"].name + random_user = random.choice(list(event["target"].users)) + event["kwargs"]["RNICK"] = random_user.nickname diff --git a/src/core_modules/aliases.py b/src/core_modules/aliases.py index 5cf8d0e9..20307e5f 100644 --- a/src/core_modules/aliases.py +++ b/src/core_modules/aliases.py @@ -47,7 +47,7 @@ class Module(ModuleManager.BaseModule): event["command"].command = alias event["command"].args = self._arg_replace(alias_args, given_args, - {"NICK": event["user"].nickname}) + event["kwargs"]) @utils.hook("received.command.alias", permission="alias") diff --git a/src/core_modules/commands/__init__.py b/src/core_modules/commands/__init__.py index 5a312bda..47488f24 100644 --- a/src/core_modules/commands/__init__.py +++ b/src/core_modules/commands/__init__.py @@ -78,7 +78,8 @@ class Module(ModuleManager.BaseModule): if not self.has_command(command): command_event = CommandEvent(command, args) self.events.on("get.command").call(command=command_event, - server=server, target=target, is_channel=is_channel, user=user) + server=server, target=target, is_channel=is_channel, user=user, + kwargs={}) command = command_event.command args = command_event.args