Задать вопрос

Как именно Telegram бот админ группы может взаимодействовать с новым пользователем при chat join request?

Бот админ в группе, имеет право принимать новых участников.
Получает update с chat_join_request.
Пишет в ответ сообщение "Привет, ответь на пару вопросов. ..." и кнопки вариантов ответа.
Пишет для теста ещё пару сообщений пользователю.
До сих пор всё ОК.

Пользователь жмёт одну из кнопок, срабатывает обработчик callback_query. Редактирует исходное сообщение, убирает кнопки, дописывает выбранный вариант. Тоже всё ОК.

Но в этом же обработчике не получается уже отправить новое сообщениче от бота через sendMessage:
403: Forbidden: bot can't initiate conversation with a user

Дебажил веб-запросы к Bot API: совершенно идентичные запросы и параметры уходили (успешно) в начале в обработчике chat_join_request, и (уже с ошибкой) в обработчике callback_query — один и тот же метод, один и тот же chat_id.

Это же просто веб-запросы. Почему Telegram со своей стороны принимал одни и отверг другие?

Всё происходит в рамках 30 секунд: запрос на вступление в группу, сразу же ответ от бота с кнопками, кнопка, ошибка.

Бот висит на webhook, использую Telegraf.js за reverse прокси NGINX.
  • Вопрос задан
  • 36 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Интернет-маркетолог
    12 месяцев
    Далее
  • Яндекс Практикум
    SMM-продвижение в Телеграме
    1 месяц
    Далее
  • GB (GeekBrains)
    Интернет-маркетолог
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
При ChatJoinRequest у бота есть пять минут, чтобы высказать пользователю лично всё, что он думает.
user_chat_id ... The bot can use this identifier for 5 minutes to send messages until the join request is processed, assuming no other administrator contacted the user.

https://core.telegram.org/bots/api#chatjoinrequest
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы