我查看了堆栈溢出并找到了我需要的东西 - 从特定电报聊天(超级组)中导出已删除(禁止)的用户。 删除/禁止的用户数量约为 5000。
我这样做了:
channel_id = -########
users = client.get_participants(client.get_input_entity(channel_id))
for user in users:
if user.deleted:
print(user)
还有这个:
from telethon.tl.types import ChannelParticipantsKicked
from telethon.sync import TelegramClient
api_id = #########
api_hash = '################################'
group_id = '-##############'
client = TelegramClient('apptitle', api_id, api_hash)
async def main():
await client.start()
kicked_members = await client.get_participants(group_id, filter=ChannelParticipantsKicked)
for member in kicked_members:
print(TipyWolf, 502264640)
with client:
client.loop.run_until_complete(main())
但是接下来呢?我应该从哪里获取文件?我必须在哪里查看这些操作的输出?
我尝试等待并查看根文件夹,但实际上什么也没有。 我希望得到一个像 csv 这样的文件或大量数据,这样我就可以复制它。
不。您的代码没有给您一个文件。我不明白为什么该代码想要打印
TipyWolf
几千次。
. . .
kicked_members = await client.get_participants(group_id, filter=ChannelParticipantsKicked)
# Define the file name
file_name = 'kicked_members.txt'
# Open the file in write mode ('w')
with open(file_name, 'w') as file:
for member in kicked_members:
file.write(member + '\n')
我假设
member
是一个保存用户名的字符串,如果不是,请调整 file.write() 。该文件将与 python 文件位于同一目录中。