@Boos55

Как отправить несколько сообщений через один хэндлер в Telegram боте?

Имеется массив (список) элементы которого нужно отправить с помощью конструкции await callback.message.edit_text(
text=Text)
, при одном нажатии на инлайн-кнопку.
Проблема в том, что при попытке перебрать массив циклом for переменная Text постоянно перезаписывается. Бот отправляет в чат одно сообщение внутри которого, по мере того, как цикл пробегает по списку поочерёдно мелькают элементы этого списка. В итоге остаётся только последний элемент.
Суть вопроса - а) возможно ли как то отправить в чат с ботом все элементы массива отдельными сообщениями при одном нажатии на кнопку?
Либо б) Возможно ли элементы массива объединить в одно большое сообщение и отправить его единожды?
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Ну так сначала сформируй желаемый текст в переменной, а потом уже редактируй сообщение.
Метод str.join() в помощь.
Ответ написан
Комментировать
febday
@febday
lst = [{1: 'a'}, {1: 'b'}, {1: 'c'}]
text = '\n'.join(el[1] for el in lst)
await callback.message.edit_text(text=text)


Существует множество вариантов ответа, но можно сделать так. (это по факту пример комментария выше)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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