使用 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("错误!")
有了 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("错误!")