我正在尝试获取频道中新消息的消息内容,但是telethon文档非常混乱,我不知道如何指定特定频道。
答案 0 :(得分:0)
Updates in the docs的介绍介绍了如何注册处理程序:
from telethon import TelegramClient, events
client = TelegramClient('anon', api_id, api_hash)
@client.on(events.NewMessage)
async def my_event_handler(event):
if 'hello' in event.raw_text:
await event.reply('hi!')
client.start()
client.run_until_disconnected()
它具有指向events.NewMessage
的链接,我们可以看到它具有以下可选参数:
class NewMessage(chats=None, *, blacklist_chats=False, func=None, incoming=None, outgoing=None, from_users=None, forwards=None, pattern=None)
它还声称以下内容:
在这里,我们找到了chats
的文档:
可以是一个或多个实体(用户名/对等体/等等),最好是ID。默认情况下,仅会处理匹配的聊天。
将它们放在一起:
MY_CHANNEL = -1001234 # or 'username', or invite link, etc.
@client.on(events.NewMessage(MY_CHANNEL))
async def my_event_handler(event):
pass # do work...