summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlumi <lumi@pew.im>2018-05-23 23:08:57 +0200
committerMaxime “pep” Buquet <pep@bouah.net>2019-12-27 18:56:27 +0100
commit2ff48b7adf3e022e6809ce59f6429a387f0f3ffa (patch)
tree76f4e691517c621c0400b29367f177670a50c820
parentebbdbc2cbdc6d0aeaf7c4b1ea87af5049882564a (diff)
downloadpoezio-2ff48b7adf3e022e6809ce59f6429a387f0f3ffa.tar.gz
poezio-2ff48b7adf3e022e6809ce59f6429a387f0f3ffa.tar.bz2
poezio-2ff48b7adf3e022e6809ce59f6429a387f0f3ffa.tar.xz
poezio-2ff48b7adf3e022e6809ce59f6429a387f0f3ffa.zip
Expand the status command, make decryption work, put a hack into the core so I can handle messages without bodies.
-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"