diff --git a/stdplugins/who.py b/stdplugins/who.py index 897ec1c..33c81b0 100644 --- a/stdplugins/who.py +++ b/stdplugins/who.py @@ -8,6 +8,14 @@ from telethon import utils from telethon.tl import types +def get_who_string(who): + who_string = html.escape(utils.get_display_name(who)) + if isinstance(who, (types.User, types.Channel)) and who.username: + who_string += f" (@{who.username})" + who_string += f", #{who.id}" + return who_string + + @borg.on(events.NewMessage(pattern=r"\.who", outgoing=True)) async def _(event): if not event.message.is_reply: @@ -21,9 +29,13 @@ async def _(event): else: who = await msg.get_sender() - who_string = html.escape(utils.get_display_name(who)) - if isinstance(who, (types.User, types.Channel)) and who.username: - who_string += f" (@{who.username})" - who_string += f", #{who.id}" + await event.edit(get_who_string(who), parse_mode='html') - await event.edit(who_string, parse_mode='html') + +@borg.on(events.NewMessage(pattern=r"\.members", outgoing=True)) +async def _(event): + members = [ + get_who_string(m) async for m in borg.iter_participants(event.chat_id) + ] + + await event.edit("\n".join(members), parse_mode='html')