Дано:
- Канал телеграммы
- Группа телеграмм
- Бот Telegram с длинной стратегией опроса на борту, которая обрабатывает все обновления
- Сообщения с кнопками разметки ответа
- Бот основан на https://github.com/rubenlagus/TelegramBots
Действие:
Нажмите любую кнопку дважды (или более) за короткий промежуток времени (1-2 секунды)
Проблема:
Когда я нажимаю кнопки в группе - все в порядке , но когда я нажимаю те же кнопки с тем же логом c в канале:
Первый вызов API выполняется очень быстро, но для ответа на второй вызов API требуется около 5 секунд, что приводит к зависанию бизнес-логики c и раздражает пользователя
Методы:
private fun updateChatMarkup(messageId: Int, votes: Map<VoteValue, Int>) =
EditMessageReplyMarkup()
.setChatId(chatId)
.setMessageId(messageId)
.setReplyMarkup(createMarkup(votes)).let { execute(it) }
private fun updateChannelMarkup(messageId: Int, votes: Map<VoteValue, Int>) =
EditMessageReplyMarkup()
.setChatId(channelId)
.setMessageId(messageId)
.setReplyMarkup(createMarkup(votes, messageId)).let { execute(it) }