add guests command

This commit is contained in:
William Kray 2022-10-28 14:49:51 -07:00
parent 5bc0fd5cb2
commit d9825d515c
2 changed files with 23 additions and 1 deletions

View File

@ -150,6 +150,28 @@ class KickBot(Plugin):
#need to somehow regularly fetch and update the list of room ids that are associated with a given space
#to track events within so that we are actually only paying attention to those rooms
## loop through each room and report people who are "guests" (in the room, but not members of the space)
@activity.subcommand("guests", help="generate a list of members in this room who are not members of the parent space")
async def get_guestlist(self, evt: MessageEvent) -> None:
if evt.sender in self.config["admins"]:
space_members_obj = await self.client.get_joined_members(self.config["master_room"])
space_members_list = space_members_obj.keys()
room_members_obj = await self.client.get_joined_members(evt.room_id)
room_members_list = room_members_obj.keys()
# find the non-space members in the room member list
try:
guest_list = set(room_members_list) - set(space_members_list)
if len(guest_list) == 0:
guest_list = ["None"]
await evt.reply(f"<b>Guests in this room are:</b><br /> \
{'<br />'.join(guest_list)}", allow_html=True)
except Exception as e:
await evt.respond(f"something went wrong: {e}")
else:
await evt.reply("lol you don't have permission to set that")
@classmethod
def get_db_upgrade_table(cls) -> None:
return upgrade_table

View File

@ -1,6 +1,6 @@
maubot: 0.1.0
id: org.jobmachine.kickbot
version: 0.0.5
version: 0.0.6
modules:
- kickbot
main_class: KickBot