aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2020-02-05 18:18:32 +0000
committerGravatar jesopo2020-02-05 18:18:32 +0000
commitfc83d4fe500080088dec20e0c1eeca4ae753c2c7 (patch)
tree3c9e99d87fce3ff76710a05527eed5a4d72632d8
parentaliases.py get.command doesn't need to be PRIORITY_URGENT (diff)
signature
move !alias variables in to alias_variables.py, add RNICK (random nick)
-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