From 5c156e92f12140ebbded7c19eff95dbc7b97ad99 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 14 Jan 2023 21:17:31 +0400 Subject: [PATCH 1/3] Move Matrix loop --- mirrortea/__main__.py | 2 +- mirrortea/messengers/__init__.py | 1 + mirrortea/{ => messengers}/matrix.py | 11 +++++------ 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 mirrortea/messengers/__init__.py rename mirrortea/{ => messengers}/matrix.py (80%) diff --git a/mirrortea/__main__.py b/mirrortea/__main__.py index 2dc2aba..44bd80d 100644 --- a/mirrortea/__main__.py +++ b/mirrortea/__main__.py @@ -1,6 +1,6 @@ import asyncio -from matrix import MatrixLoop +from messengers import Matrix as MatrixLoop from abstract_source_platform.telegram import Telegram from config_dataclass import Config diff --git a/mirrortea/messengers/__init__.py b/mirrortea/messengers/__init__.py new file mode 100644 index 0000000..4200d22 --- /dev/null +++ b/mirrortea/messengers/__init__.py @@ -0,0 +1 @@ +from .matrix import Matrix diff --git a/mirrortea/matrix.py b/mirrortea/messengers/matrix.py similarity index 80% rename from mirrortea/matrix.py rename to mirrortea/messengers/matrix.py index 061b4a3..5c8555c 100644 --- a/mirrortea/matrix.py +++ b/mirrortea/messengers/matrix.py @@ -1,15 +1,14 @@ -import nio as matrix +import nio import sys - -class MatrixLoop: +class Matrix: def __init__(self, app): self.app = app - self.client = matrix.AsyncClient( + self.client = nio.AsyncClient( app.config.matrix_homeserver_url, app.config.matrix_full_bot_id, ) - self.client.add_event_callback(self.on_message, matrix.RoomMessage) + self.client.add_event_callback(self.on_message, nio.RoomMessage) async def prepare(self): await self.client.login(self.app.config.matrix_bot_password) @@ -24,7 +23,7 @@ class MatrixLoop: print(room, event, file=sys.stderr) def upgrade_room(self, room, telegram_nickname): - event_dict = matrix.event_builders.event_builder.EventBuilder( + event_dict = nio.event_builders.event_builder.EventBuilder( name=telegram_nickname ).as_dict() client.room_send( -- 2.40.1 From 467d40d02614f5836a033efdaf75e5702cf9ddb3 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 14 Jan 2023 21:23:59 +0400 Subject: [PATCH 2/3] Move Telegram loop --- mirrortea/__main__.py | 7 +++--- .../abstract_source_platform/__init__.py | 3 --- .../abstact_source_platform.py | 9 ------- .../abstract_source_platform/telegram.py | 24 ------------------- mirrortea/messengers/__init__.py | 1 + mirrortea/messengers/telegram.py | 15 ++++++++++++ 6 files changed, 19 insertions(+), 40 deletions(-) delete mode 100644 mirrortea/abstract_source_platform/__init__.py delete mode 100644 mirrortea/abstract_source_platform/abstact_source_platform.py delete mode 100644 mirrortea/abstract_source_platform/telegram.py create mode 100644 mirrortea/messengers/telegram.py diff --git a/mirrortea/__main__.py b/mirrortea/__main__.py index 44bd80d..c37c69d 100644 --- a/mirrortea/__main__.py +++ b/mirrortea/__main__.py @@ -1,7 +1,6 @@ import asyncio -from messengers import Matrix as MatrixLoop -from abstract_source_platform.telegram import Telegram +from messengers import Matrix as MatrixLoop, Telegram as TelegramLoop from config_dataclass import Config @@ -18,14 +17,14 @@ class Application: def __init__(self, config): self.config = config self.matrix_loop = MatrixLoop(self) - self.telegram = Telegram(self) + self.telegram_loop = TelegramLoop(self) async def run(self): try: await self.matrix_loop.prepare() await asyncio.gather( self.matrix_loop.run(), - self.telegram.run(), + self.telegram_loop.run(), ) finally: if self.matrix_loop: diff --git a/mirrortea/abstract_source_platform/__init__.py b/mirrortea/abstract_source_platform/__init__.py deleted file mode 100644 index 815fa79..0000000 --- a/mirrortea/abstract_source_platform/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from abstract_source_platform.telegram import Telegram - -platforms = [Telegram] diff --git a/mirrortea/abstract_source_platform/abstact_source_platform.py b/mirrortea/abstract_source_platform/abstact_source_platform.py deleted file mode 100644 index f12d8b3..0000000 --- a/mirrortea/abstract_source_platform/abstact_source_platform.py +++ /dev/null @@ -1,9 +0,0 @@ -from abc import ABC, abstractmethod - -from models.user import User - - -class AbstractSourcePlatform(ABC): - @abstractmethod - def get_user_information(self) -> User: - """Init tables in database""" diff --git a/mirrortea/abstract_source_platform/telegram.py b/mirrortea/abstract_source_platform/telegram.py deleted file mode 100644 index 0cb3916..0000000 --- a/mirrortea/abstract_source_platform/telegram.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys -import aiogram as telegram - -from abstract_source_platform.abstact_source_platform import ( - AbstractSourcePlatform, -) -from models.user import User - - -class Telegram(AbstractSourcePlatform): - def __init__(self, app): - self.app = app - self.bot = telegram.Bot(token=app.config.telegram_bot_token) - self.dispatcher = telegram.Dispatcher(bot=self.bot) - self.dispatcher.register_message_handler(self.on_message) - - async def run(self): - await self.dispatcher.start_polling() - - async def on_message(self, msg): - print(msg, file=sys.stderr) - - async def get_user_information(self) -> User: - pass diff --git a/mirrortea/messengers/__init__.py b/mirrortea/messengers/__init__.py index 4200d22..11d43e6 100644 --- a/mirrortea/messengers/__init__.py +++ b/mirrortea/messengers/__init__.py @@ -1 +1,2 @@ from .matrix import Matrix +from .telegram import Telegram diff --git a/mirrortea/messengers/telegram.py b/mirrortea/messengers/telegram.py new file mode 100644 index 0000000..c3355e5 --- /dev/null +++ b/mirrortea/messengers/telegram.py @@ -0,0 +1,15 @@ +import aiogram +import sys + +class Telegram: + def __init__(self, app): + self.app = app + self.bot = aiogram.Bot(token=app.config.telegram_bot_token) + self.dispatcher = aiogram.Dispatcher(bot=self.bot) + self.dispatcher.register_message_handler(self.on_message) + + async def run(self): + await self.dispatcher.start_polling() + + async def on_message(self, msg): + print(msg, file=sys.stderr) -- 2.40.1 From 24866a11573950379411e80f31b550f728d60816 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 14 Jan 2023 21:25:34 +0400 Subject: [PATCH 3/3] Remove unnecessary code --- mirrortea/messengers/matrix.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/mirrortea/messengers/matrix.py b/mirrortea/messengers/matrix.py index 5c8555c..4048f27 100644 --- a/mirrortea/messengers/matrix.py +++ b/mirrortea/messengers/matrix.py @@ -21,14 +21,3 @@ class Matrix: async def on_message(self, room, event): print(room, event, file=sys.stderr) - - def upgrade_room(self, room, telegram_nickname): - event_dict = nio.event_builders.event_builder.EventBuilder( - name=telegram_nickname - ).as_dict() - client.room_send( - room_id=room, - message_type=event_dict["type"], - content=event_dict["content"], - ) # предположу что оно так работает - # https://matrix-nio.readthedocs.io/en/latest/nio.html#module-nio.event_builders.state_events -- 2.40.1