summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/omemo_plugin.py4
-rw-r--r--poezio/core/core.py1
-rw-r--r--poezio/core/handlers.py8
3 files changed, 12 insertions, 1 deletions
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"