#!/usr/bin/env python3 import asyncio import sys import aiogram as telegram import nio as matrix MATRIX_HOMESERVER_URL = 'https://matrix.org' MATRIX_FULL_USER_ID = '@fckidiots:matrix.org' MATRIX_PASSWORD = '...' TELEGRAM_BOT_TOKEN = '5890667880:...' async def main(): try: matrix_client = \ matrix.AsyncClient(MATRIX_HOMESERVER_URL, MATRIX_FULL_USER_ID) matrix_client.add_event_callback(matrix_on_message, matrix.RoomMessage) await matrix_client.login(MATRIX_PASSWORD) telegram_client = telegram.Bot(token=TELEGRAM_BOT_TOKEN) await asyncio.gather(matrix_loop(matrix_client), telegram_loop()) finally: if matrix_client: await matrix_client.close() async def matrix_loop(client): await client.sync_forever(timeout=30000) async def telegram_loop(): print(456, file=sys.stderr) async def matrix_on_message(room, event): print(room, event, file=sys.stderr) if __name__ == '__main__': asyncio.run(main())