aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/alias_variables.py12
-rw-r--r--src/core_modules/aliases.py2
-rw-r--r--src/core_modules/commands/__init__.py3
3 files changed, 15 insertions, 2 deletions
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