From 985e4704a0465b2ab5d5c6b0805029c2844c2fa7 Mon Sep 17 00:00:00 2001 From: jesopo Date: Mon, 25 Nov 2019 12:15:43 +0000 Subject: switch !to to !tell, add !to as an alias of !tell --- modules/tell.py | 42 ++++++++++++++++++++++++++++++++++++++++++ modules/to.py | 41 ----------------------------------------- 2 files changed, 42 insertions(+), 41 deletions(-) create mode 100644 modules/tell.py delete mode 100644 modules/to.py (limited to 'modules') diff --git a/modules/tell.py b/modules/tell.py new file mode 100644 index 00000000..93aaba0c --- /dev/null +++ b/modules/tell.py @@ -0,0 +1,42 @@ +#--depends-on commands + +from src import EventManager, ModuleManager, utils + +class Module(ModuleManager.BaseModule): + @utils.hook("received.message.channel", priority=EventManager.PRIORITY_HIGH) + def channel_message(self, event): + messages = event["channel"].get_user_setting(event["user"].get_id(), + "to", []) + for nickname, message, timestamp in messages: + timestamp_parsed = utils.datetime.iso8601_parse(timestamp) + timestamp_human = utils.datetime.datetime_human(timestamp_parsed) + event["channel"].send_message("%s: <%s> %s (at %s UTC)" % ( + event["user"].nickname, nickname, message, timestamp_human)) + if messages: + event["channel"].del_user_setting(event["user"].get_id(), "to") + + @utils.hook("received.command.to", alias_of="tell") + @utils.hook("received.command.tell") + @utils.kwarg("min_args", 2) + @utils.kwarg("channel_only", True) + @utils.kwarg("help", + "Relay a message to a user the next time they talk in this channel") + @utils.kwarg("usage", " ") + def tell(self, event): + target_name = event["args_split"][0] + if not event["server"].has_user_id(target_name): + raise utils.EventError("I've never seen %s before" % target_name) + + target_user = event["server"].get_user(event["args_split"][0]) + messages = event["target"].get_user_setting(target_user.get_id(), + "to", []) + + if len(messages) == 5: + raise utils.EventError("Users can only have 5 messages stored") + + messages.append([event["user"].nickname, + " ".join(event["args_split"][1:]), + utils.datetime.iso8601_format_now()]) + event["target"].set_user_setting(target_user.get_id(), + "to", messages) + event["stdout"].write("Message saved") diff --git a/modules/to.py b/modules/to.py deleted file mode 100644 index eb0ad03a..00000000 --- a/modules/to.py +++ /dev/null @@ -1,41 +0,0 @@ -#--depends-on commands - -from src import EventManager, ModuleManager, utils - -class Module(ModuleManager.BaseModule): - @utils.hook("received.message.channel", priority=EventManager.PRIORITY_HIGH) - def channel_message(self, event): - messages = event["channel"].get_user_setting(event["user"].get_id(), - "to", []) - for nickname, message, timestamp in messages: - timestamp_parsed = utils.datetime.iso8601_parse(timestamp) - timestamp_human = utils.datetime.datetime_human(timestamp_parsed) - event["channel"].send_message("%s: <%s> %s (at %s UTC)" % ( - event["user"].nickname, nickname, message, timestamp_human)) - if messages: - event["channel"].del_user_setting(event["user"].get_id(), "to") - - @utils.hook("received.command.to", min_args=2, channel_only=True) - def to(self, event): - """ - :help: Relay a message to a user the next time they talk in this - channel - :usage: - """ - target_name = event["args_split"][0] - if not event["server"].has_user_id(target_name): - raise utils.EventError("I've never seen %s before" % target_name) - - target_user = event["server"].get_user(event["args_split"][0]) - messages = event["target"].get_user_setting(target_user.get_id(), - "to", []) - - if len(messages) == 5: - raise utils.EventError("Users can only have 5 messages stored") - - messages.append([event["user"].nickname, - " ".join(event["args_split"][1:]), - utils.datetime.iso8601_format_now()]) - event["target"].set_user_setting(target_user.get_id(), - "to", messages) - event["stdout"].write("Message saved") -- cgit v1.3.1-10-gc9f91