from src import ModuleManager, utils MSGID_TAG = "draft/msgid" READ_TAG = "+draft/read" DELIVERED_TAG = "+draft/delivered" MESSAGE_TAG_CAPS = set(["draft/message-tags-0.2", "message-tags"]) class Module(ModuleManager.BaseModule): @utils.hook("received.message.private") @utils.hook("received.notice.private") def privmsg(self, event): if MSGID_TAG in event["tags"] and ( event["server"].agreed_capabilities & MESSAGE_TAG_CAPS): target = event.get("channel", event["user"]) msgid = event["tags"][MSGID_TAG] tags = {DELIVERED_TAG: msgid, READ_TAG: msgid} event["server"].send_tagmsg(target.name, tags)