diff --git a/src/matrix_bot/client.py b/src/matrix_bot/client.py index 281f3cd..3fee1d6 100644 --- a/src/matrix_bot/client.py +++ b/src/matrix_bot/client.py @@ -41,7 +41,6 @@ class Client(Aobject): __sync_token:Optional[str] __sync_token_queue: asyncio.Queue[str] __invite_queue: asyncio.Queue[tuple[RoomId, nio.responses.InviteInfo]] - __message_queue: asyncio.Queue[tuple[Union[RoomAlias, RoomId], dict[Any,Any]]] whitelist_rooms: Optional[dict[RoomId, Room]] async def __init__( @@ -78,7 +77,6 @@ class Client(Aobject): self.__sync_token = None self.__sync_token_queue = asyncio.Queue() self.__invite_queue = asyncio.Queue() - self.__message_queue = asyncio.Queue() resp = await self.__client.login(password) if isinstance(resp, nio.responses.LoginError): raise RuntimeError(f"Fail to connect: {resp.message}") @@ -142,7 +140,7 @@ class Client(Aobject): "body": message, "msgtype": "m.text" } - await self.__message_queue.put((room, msg)) + await self.__send_message(room, msg) async def __save_sync_tocken(self)->NoReturn: """ @@ -187,16 +185,17 @@ class Client(Aobject): self.__invite_queue.task_done() - async def __send_messages(self)->NoReturn: + async def __send_message( + self, + room_name: Union[RoomAlias, RoomId], + msg: dict[Any, Any] + ): """ - Send messages from the queue. + Send a message, take a room name and the dict of the message. """ - while True: - room_name, msg = await self.__message_queue.get() - room = await self.resolve_room(room_name) - await self.__client.room_send(room.id, "m.room.message", msg) - log.debug(f"message sent to room {room.id}") - self.__message_queue.task_done() + room = await self.resolve_room(room_name) + await self.__client.room_send(room.id, "m.room.message", msg) + log.debug(f"message sent to room {room.id}") async def __sync( self, @@ -233,8 +232,7 @@ class Client(Aobject): await asyncio.gather( self.__sync(sync_timeout=sync_timeout), self.__save_sync_tocken(), - self.__process_invites(), - self.__send_messages(), + self.__process_invites() )