diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/ircv3_editmsg.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/modules/ircv3_editmsg.py b/modules/ircv3_editmsg.py index 9d27cc6e..458ac61a 100644 --- a/modules/ircv3_editmsg.py +++ b/modules/ircv3_editmsg.py @@ -5,11 +5,25 @@ DELETE_TAG = utils.irc.MessageTag(None, "draft/delete") @utils.export("cap", CAP) class Module(ModuleManager.BaseModule): - @utils.hook("received.tagmsg.private") - @utils.hook("received.tagmsg.channel") - def tagmsg(self, event): + def _tagmsg(self, event, channel): msgid = DELETE_TAG.get_value(event["line"].tags) if msgid: line = event["target"].buffer.find_id(msgid) if line: line.deleted = True + + timestamp = utils.datetime.datetime_human(line.timestamp) + minimal = "{NICK} deleted line from %s (%s)" % ( + timestamp, line.message) + line = "- %s" % minimal + + self.exports.get_one("format")("delete", event["server"], line, + event["target_str"], minimal=minimal, channel=channel, + user=event["user"]) + + @utils.hook("received.tagmsg.private") + def private(self, event): + self._tagmsg(event, None) + @utils.hook("received.tagmsg.channel") + def channel(self, event): + self._tagmsg(event, event["target"]) |
