当通过telethon在特定频道发送消息时,如何运行操作?

2024-04-20 04:12:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个频道中获取新消息的消息内容,但是telethon文档非常混乱,我不知道如何指定特定的频道


Tags: 文档消息内容频道telethon
1条回答
网友
1楼 · 发布于 2024-04-20 04:12:28

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()

它有到^{}的链接,我们可以看到它有以下可选参数:

class NewMessage(chats=None, *, blacklist_chats=False, func=None, incoming=None, outgoing=None, from_users=None, forwards=None, pattern=None)

它还声称:

Bases: telethon.events.common.EventBuilder.

在这里,我们可以找到chats的文档:

May be one or more entities (username/peer/etc.), preferably IDs. By default, only matching chats will be handled.

总而言之:

MY_CHANNEL = -1001234  # or 'username', or invite link, etc.

@client.on(events.NewMessage(MY_CHANNEL))
async def my_event_handler(event):
    pass  # do work...

相关问题 更多 >