From: Alexander Schmidt Date: Sun, 4 Oct 2020 06:49:55 +0000 (+0200) Subject: use b64 encoding X-Git-Url: http://git.treefish.org/~alex/mtxbot.git/commitdiff_plain/78728c1ec35a28086bf6939eb8afaaae897fa3e5?ds=sidebyside use b64 encoding --- diff --git a/src/mtxbot-post.py b/src/mtxbot-post.py index 8d1fac8..3e97ef2 100755 --- a/src/mtxbot-post.py +++ b/src/mtxbot-post.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import base64 import errno import os import posix @@ -25,11 +26,14 @@ if not ( os.path.exists(fifo_path) and print("Channel %s does not exist!" % sys.argv[1], file=sys.stderr) sys.exit(3) +inBytes = sys.stdin.read().encode("UTF-8") +inB64 = base64.b64encode(inBytes) + for i in range(0, 10): fifo = -1 try: fifo = posix.open(fifo_path, posix.O_WRONLY | posix.O_NONBLOCK) - posix.write(fifo, sys.stdin.read().encode()) + posix.write(fifo, inB64) sys.exit(0) except OSError as e: if e.errno == errno.ENXIO: diff --git a/src/presence.py b/src/presence.py index e239bdb..b3da858 100644 --- a/src/presence.py +++ b/src/presence.py @@ -1,5 +1,6 @@ import aiofiles import asyncio +import base64 import errno import logging import posix @@ -68,12 +69,18 @@ class Presence: if self._stop: break if self._joined_room_id != None: + try: + msgB64Bytes = line.rstrip("\n").encode("UTF-8") + msgBytes = base64.b64decode(msgB64Bytes) + except: + self._log(logging.WARNING, "Error decoding message") + continue await client.room_send( room_id=self._joined_room_id, message_type="m.room.message", content={ "msgtype": "m.text", - "body": line.rstrip("\n") + "body": msgBytes.decode("UTF-8") } ) else: