Bot错误处理消息

时间:2020-03-06 15:28:41

标签: python telethon

我编写机器人没有什么问题,我试图仅在机器人内部发送消息,但是我的客户端可以处理任何聊天中的消息。

from telethon.sync import TelegramClient, events
import socks
api_id = 'my_id'
api_hash = 'my_hash'
client = TelegramClient('name', api_id, api_hash, proxy=###).start(bot_token='bot_token') 

@client.on(events.NewMessage(pattern='/start'))
async def send_welcome(event):
    await event.reply('How re you doing')

@client.on(events.NewMessage)
async def echo_all(event):
    await event.reply(event.text)

client.run_until_disconnected()

1 个答案:

答案 0 :(得分:1)

您需要将func=lambda e: e.is_private放入events.NewMessage()中,以便处理程序仅捕获来自私人对话的消息(这就是您所定义的“仅在机器人内部的消息”)

它看起来像这样:

@events.register(events.NewMessage(func=lambda e: e.is_private))
async def handler(event):
    ...