【发布时间】:2021-07-23 08:06:32
【问题描述】:
使用telethon,您几乎可以在 Telegram 周围做任何您想做的事情。但是,我找不到获取组/频道中已删除(禁止)用户列表的方法。有什么想法吗?
作为记录,您可以通过 Telegram 的 GUI 访问 Edit > Permissions > Removed Users。
【问题讨论】:
使用telethon,您几乎可以在 Telegram 周围做任何您想做的事情。但是,我找不到获取组/频道中已删除(禁止)用户列表的方法。有什么想法吗?
作为记录,您可以通过 Telegram 的 GUI 访问 Edit > Permissions > Removed Users。
【问题讨论】:
要使用 Telethon 获取 Telegram 组/频道中所有已删除用户的列表,您需要使用 get_participants() 并将 filter 参数设置为 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:这里列出了所有可用的 filters 与 get/iter_participants() 一起使用。
【讨论】:
@client.on(events.NewMessage(pattern="/[Bb]anlist",from_users=admin)) async def banlist(事件): text = (event.raw_text).split(" ") 尝试: 禁令 = 等待 client.get_participants(text[1] , filter=ChannelParticipantsKicked) 禁止列表 = "" 对于我在禁令中: if (i.username != None): ban_list += "@" + i.username +'\n' await event.reply("BAN LSIT: {}".format(ban_list)) 除了: await event.reply("ERROR!")
【讨论】: