""" Not really tests, because I don't know how to test without a whole matrix server. """ import asyncio import logging import os from dotenv import load_dotenv from matrix_bot.client import Client from matrix_bot.invite_policy import ( AcceptAll, DeclineAll, WhiteList ) from matrix_bot.utils import ignore_client_message from getpass import getpass logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.DEBUG) @ignore_client_message async def callback(client, room, event): await client.send_message(room.room_id, "Hello!") async def main(): load_dotenv() client = await Client( os.environ["MUSER"], os.environ["HOMESERVER"], os.environ["PASSWD"], ) client.add_message_callback(callback) withelisted_room_names = os.environ["ROOMS"].split(",") whitelist_policy = await WhiteList(client, withelisted_room_names) room_name = withelisted_room_names[0] client.set_invite_policy(whitelist_policy) await client.send_message(room_name, "Beware of Greeks bearing gifts") await asyncio.sleep(1) await client.send_formated_message( room_name, "Beware of Greeks bearing gifts", "Beware of Greeks bearing gifts" ) await client.run() if __name__ == "__main__": asyncio.run(main())