Генерация превью тем слушателей генерирует большое количество сообщений в чате (одна тема = одно сообщение), что трудно использовать и весьма шумно.
Обзор
Для решения этой проблемы предлагается использовать мульти-текст сообщения с возможностью листания их туда-сюда
Пример использования клавиатуры
Кнопки реагируют только на super user, остальных можно игнорировать или выписывать бан.
Реализация
С точки зрения релизации в коде, я предлагаю расширить структуру Response добавив слайс AltText[]
type Response struct {
Text string
AltText []string
Send bool // status
Pin bool // enable pin
Unpin bool // enable unpin
Preview bool // enable web preview
BanInterval time. Duration // bots banning user set the interval
User User // user to ban
ChannelID int64 // channel to ban, if set then User and BanInterval are ignored
ReplyTo int // message to reply to, if 0 then no reply but common message
ParseMode ParseMode // parse mode for message in Telegram (we use Markdown by default)
}
Если этот слайс задан, тогда superbot кеширует все Text + AltText в LRU cache.
В параметрах inline кнопок клавиатуры сохраняется ключ и номер предыдущей/следующей старницы.
Когда из телеграма приходит callback нажатия на кнопку, то из кеша берется список возможных текстов сообщения и обновляется на нужный согласно параметру страницы в data.
Таким образом можно посылать мульти-текстовый ответ бота и дальше не беспокоиться о перелистывании страниц, всё будет поддержано на уровне telegram.go/bot.go
Генерация превью тем слушателей генерирует большое количество сообщений в чате (одна тема = одно сообщение), что трудно использовать и весьма шумно.
Обзор
Для решения этой проблемы предлагается использовать мульти-текст сообщения с возможностью листания их туда-сюда
Пример использования клавиатуры
Кнопки реагируют только на super user, остальных можно игнорировать или выписывать бан.
Реализация
С точки зрения релизации в коде, я предлагаю расширить структуру Response добавив слайс
AltText[]
Если этот слайс задан, тогда superbot кеширует все
Text + AltText
в LRU cache. В параметрах inline кнопок клавиатуры сохраняется ключ и номер предыдущей/следующей старницы.Когда из телеграма приходит callback нажатия на кнопку, то из кеша берется список возможных текстов сообщения и обновляется на нужный согласно параметру страницы в data.
Таким образом можно посылать мульти-текстовый ответ бота и дальше не беспокоиться о перелистывании страниц, всё будет поддержано на уровне telegram.go/bot.go