Бот неправильно обрабатывает сообщения - PullRequest
0 голосов
/ 06 марта 2020

У меня небольшая проблема с написанием своего бота, я пытаюсь отправить сообщение только внутри своего бота, но мой клиент обрабатывает любые сообщения в любых чатах.

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 Ответ

1 голос
/ 06 марта 2020

Вам нужно иметь func=lambda e: e.is_private в events.NewMessage(), чтобы обработчик получал сообщения только от личных разговоров (это то, что вы определили как «сообщения только внутри вашего бота») .

Это будет выглядеть так:

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