我编写机器人没有什么问题,我试图仅在机器人内部发送消息,但是我的客户端可以处理任何聊天中的消息。
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()
答案 0 :(得分:1)
您需要将func=lambda e: e.is_private
放入events.NewMessage()
中,以便处理程序仅捕获来自私人对话的消息(这就是您所定义的“仅在机器人内部的消息”)。
它看起来像这样:
@events.register(events.NewMessage(func=lambda e: e.is_private))
async def handler(event):
...