From 664dd66dd3a7ac8417131a82df793f1ae7accb6c Mon Sep 17 00:00:00 2001 From: Dylan Hackworth Date: Tue, 31 Mar 2020 23:54:03 -0500 Subject: [PATCH] modules/room: Added servers command Signed-off-by: Dylan Hackworth --- modules/room.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/room.py b/modules/room.py index 41f19fc..c762b03 100644 --- a/modules/room.py +++ b/modules/room.py @@ -13,3 +13,23 @@ class MatrixModule(BotModule): args = event.body.split() args.pop(0) + if args[0] == 'servers': + await MatrixModule.servers_in_room(bot, room) + + @staticmethod + async def servers_in_room(bot, room: nio.MatrixRoom): + servers_in_room = "Servers in room:\n" + count = 0 + response = await bot.client.joined_members(room.room_id) + + if isinstance(response, nio.JoinedMembersError): + raise response + else: + for member in response.members: + assert isinstance(member, nio.RoomMember) + server = member.user_id.split(':')[1] + if server not in servers_in_room: + count += 1 + servers_in_room += f" - {server}\n" + servers_in_room = f"({count}) {servers_in_room}" + await bot.send_text(room, servers_in_room) \ No newline at end of file