Telegram Bot проверяет, упоминается ли бот в группе - PullRequest
0 голосов
/ 10 декабря 2018

Если у меня есть бот в группе, и я хочу, чтобы бот отвечал, только если это было упомянуто в сообщении, есть ли способ добиться этого?

1 Ответ

0 голосов
/ 25 апреля 2019

Когда сообщение содержит упоминание по имени пользователя, тогда объект Message содержит MessageEntity с MessageEntity.type равным 'mention' (поскольку боты всегда имеют имя пользователя).Вы можете проверить MessageEntity.offset, чтобы получить позицию сущности в тексте сообщения, а затем проанализировать текст сообщения, чтобы проверить, является ли упомянутое имя пользователя именем вашего бота.

Учтите, что по умолчанию боты запускаютсяв режиме конфиденциальности

Бот, работающий в режиме конфиденциальности, не будет получать все сообщения, которые люди отправляют в группу.Вместо этого он будет получать только:

  • Сообщения, начинающиеся с косой черты '/'
  • Ответы на собственные сообщения бота
  • Служебные сообщения (люди добавлены или удаленыиз группы и т. д.)
  • Сообщения от каналов, в которых он участвует
...