@Boos55

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

Имеется массив (список) элементы которого нужно отправить с помощью конструкции await callback.message.edit_text(
text=Text)
, при одном нажатии на инлайн-кнопку.
Проблема в том, что при попытке перебрать массив циклом for переменная Text постоянно перезаписывается. Бот отправляет в чат одно сообщение внутри которого, по мере того, как цикл пробегает по списку поочерёдно мелькают элементы этого списка. В итоге остаётся только последний элемент.
Суть вопроса - а) возможно ли как то отправить в чат с ботом все элементы массива отдельными сообщениями при одном нажатии на кнопку?
Либо б) Возможно ли элементы массива объединить в одно большое сообщение и отправить его единожды?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 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)


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

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

Войти через центр авторизации
Похожие вопросы