使用 telethon 的 Telegram group/channel 中的 kicked/banned 用户列表

List of kicked/banned users in a Telegram group/channel using telethon

有了 telethon,您几乎可以围绕 Telegram 做任何您想做的事情。但是,我找不到在 group/channel 中获取已删除(禁止)用户列表的方法。有什么想法吗?

郑重声明,您可以通过 Telegram 的 GUI 转到 Edit > Permissions > Removed Users

为了使用 Telethon 获取 Telegram group/channel 中所有已删除用户的列表,您需要使用 get_participants() with filter parameter set to ChannelParticipantsKicked.

from telethon.tl.types import ChannelParticipantsKicked # import type to use as filter
kicked_members = await client.get_participants(chat, filter=ChannelParticipantsKicked)

如果您希望循环遍历结果而不将其分配给变量,则可以使用 iter_participants()

from telethon.tl.types import ChannelParticipantsKicked 
async for user in client.iter_participants(chat, filter=ChannelParticipantsKicked):
    print(user.first_name)

NR:这里列出了所有可与 get/iter_participants() 一起使用的 filters

@client.on(events.NewMessage(pattern="/[Bb]anlist",from_users=admin)) async def banlist(事件): 文本 = (event.raw_text).split(" ") 尝试: bans = await client.get_participants(text[1], filter=ChannelParticipantsKicked) ban_list = "" 因为我在禁令中: 如果(i.username!=None): ban_list += "@" + i.username +'\n' await event.reply("BAN LSIT: {}".format(ban_list)) 除了: 等待 event.reply("错误!")