Бот не видит свои же сообщения в канале

@dp.channel_post_handler(content_types=['text'])
async def test(message: types.Message):
    print('message in channel detected')

Когда я, от своего имени отправляю сообщение в канал - бот его видит Когда бот, от своего имение отправляет сообщение в канал - то этот же бот, его не видит


Ответы (1 шт):

Автор решения: Gawain

Это сделано умышленно. Представьте, что было бы если бот видел свои сообщения и реагировал на них.

  1. Бот написал сообщение

  2. Бот увидел новое сообщение от себя же (отправленное в 1 пункте), и ответил на него

  3. Бот увидел новое сообщение от себя же (отправленное в 2 пункте), и ответил на него

  4. Бот увидел новое сообщение от себя же (отправленное в 3 пункте), и ответил на него

Думаю, закономерность вы поняли. По итогу бот разговаривал бы сам с собой

UPD

Если вам нужно знать, какое именно сообщение отправил бот

message_from_bot = await bot.send_message(message.chat.id, "Это сообщение отправил бот")
message_id = message_from_bot.message_id # теперь в переменной message_id у вас id сообщения, которое отправил в бот. Сохраняйте его и используйте как и планировали

→ Ссылка