From b133ebef69409c14a1dbe65dd05c77034f3399b0 Mon Sep 17 00:00:00 2001 From: Dusty Pianalto Date: Wed, 6 Nov 2019 22:36:40 -0900 Subject: [PATCH] Support stickers --- morpheus/core/content.py | 6 ++++++ morpheus/core/events.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/morpheus/core/content.py b/morpheus/core/content.py index 338daa0..5e0898a 100644 --- a/morpheus/core/content.py +++ b/morpheus/core/content.py @@ -53,6 +53,11 @@ class MImageContent(MessageContentBase): file: Optional[EncryptedFile] = None +@dataclass +class MStickerContent(MImageContent): + msgtype = 'm.sticker' + + @dataclass class MFileContent(MessageContentBase): msgtype = "m.file" @@ -193,6 +198,7 @@ content_dispatcher = { "m.emote": MEmoteContent, "m.notice": MNoticeContent, "m.image": MImageContent, + "m.sticker": MStickerContent, "m.file": MFileContent, "m.location": MLocationContent, "m.video": MVideoContent, diff --git a/morpheus/core/events.py b/morpheus/core/events.py index 9ea1182..8946b40 100644 --- a/morpheus/core/events.py +++ b/morpheus/core/events.py @@ -29,6 +29,8 @@ class EventBase: content_dict = {'options': event_dict['content']} else: content_dict = event_dict['content'] + if event_dict['type'] == 'm.sticker': + content_dict['msgtype'] = 'm.sticker' if content_dict.get('m.relates_to'): if content_dict['m.relates_to'].get('m.in_reply_to'):