使用 Telethon 库来找出谁加入了 Telegram 频道,您需要使用 Telegram 的 API 来获取频道的成员信息。以下是一个基本的步骤和示例代码,帮助您实现这一目标。
pip install telethon
以下是一个示例代码,展示如何使用 Telethon 找出谁加入了 Telegram 频道:
from telethon import TelegramClient, events
import asyncio
# 替换为您的 API ID 和 API Hash
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
channel_username = 'YOUR_CHANNEL_USERNAME' # 频道的用户名或 ID
# 创建 Telegram 客户端
client = TelegramClient('session_name', api_id, api_hash)
async def main():
await client.start()
# 获取频道对象
channel = await client.get_entity(channel_username)
# 获取频道的成员
async for user in client.iter_participants(channel):
print(f'User ID: {user.id}, Username: {user.username}, Name: {user.first_name} {user.last_name}')
# 运行主函数
with client:
client.loop.run_until_complete(main())
YOUR_API_ID
和 YOUR_API_HASH
替换为您在 Telegram 开发者网站上获得的值。YOUR_CHANNEL_USERNAME
替换为您要查询的频道的用户名或 ID。iter_participants
方法用于迭代频道的所有成员。您可以根据需要处理这些成员的信息。events
模块来监听 NewMessage
事件,或者使用 get_participants
方法来获取更详细的信息。如果您想要实时监听新成员加入,可以使用 events
模块:
@client.on(events.ChatAction)
async def handler(event):
if event.user_joined:
print(f'{event.user.first_name} has joined the channel.')
# 运行客户端
with client:
client.run_until_disconnected()
这个代码片段会在有新成员加入时打印出他们的名字。请确保您在适当的上下文中使用这些代码。
领取专属 10元无门槛券
手把手带您无忧上云