From 2ff48b7adf3e022e6809ce59f6429a387f0f3ffa Mon Sep 17 00:00:00 2001 From: lumi Date: Wed, 23 May 2018 23:08:57 +0200 Subject: Expand the status command, make decryption work, put a hack into the core so I can handle messages without bodies. --- plugins/omemo_plugin.py | 4 +++- poezio/core/core.py | 1 + poezio/core/handlers.py | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/omemo_plugin.py b/plugins/omemo_plugin.py index 8852aa2b..fa5dab67 100644 --- a/plugins/omemo_plugin.py +++ b/plugins/omemo_plugin.py @@ -77,6 +77,7 @@ class Plugin(BasePlugin): """Display contextual information depending on currenttab.""" tab = self.api.current_tab() self.info('OMEMO!') + self.info("My device id: %d" % self.xmpp['xep_0384'].my_device_id()) def command_enable(self, _args): pass @@ -121,4 +122,5 @@ class Plugin(BasePlugin): self.info('Foo2') if self.xmpp['xep_0384'].is_encrypted(message): - self.xmpp['xep_0384'].decrypt_message(message) + _always_none, body = self.xmpp['xep_0384'].decrypt_message(message) + message['body'] = body.decode("utf8") diff --git a/poezio/core/core.py b/poezio/core/core.py index 717ee305..fe6a9d78 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -240,6 +240,7 @@ class Core: ('groupchat_subject', self.handler.on_groupchat_subject), ('http_confirm', self.handler.http_confirm), ('message', self.handler.on_message), + ('message_encryption', self.handler.on_encrypted_message), ('message_error', self.handler.on_error_message), ('message_xform', self.handler.on_data_form), ('no_auth', self.handler.on_no_auth), diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py index fc5938f3..8f2f2584 100644 --- a/poezio/core/handlers.py +++ b/poezio/core/handlers.py @@ -271,6 +271,14 @@ class HandlerCore: return self.on_normal_message(message) + def on_encrypted_message(self, message): + """ + When receiving an encrypted message + """ + if message["body"]: + return # Already being handled by on_message. + self.on_message(message) + def on_error_message(self, message): """ When receiving any message with type="error" -- cgit v1.2.3