Как отправить несколько сообщений через один хэндлер в Telegram боте?
Имеется массив (список) элементы которого нужно отправить с помощью конструкции await callback.message.edit_text(
text=Text), при одном нажатии на инлайн-кнопку.
Проблема в том, что при попытке перебрать массив циклом for переменная Text постоянно перезаписывается. Бот отправляет в чат одно сообщение внутри которого, по мере того, как цикл пробегает по списку поочерёдно мелькают элементы этого списка. В итоге остаётся только последний элемент.
Суть вопроса - а) возможно ли как то отправить в чат с ботом все элементы массива отдельными сообщениями при одном нажатии на кнопку?
Либо б) Возможно ли элементы массива объединить в одно большое сообщение и отправить его единожды?
Возможно не совсем корректно описал. Вот упрощённый пример:
lst = [{1: 'a'}, {1: 'b'}, {1: 'c'}] #список из трёх словарей с одинаковыми ключами, но разными значениями for i in lst: #проходим по списку text = i[1] #достаём значение из каждого словаря по одному ключу, т.к. он одинаковый во всех трёх словарях await callback.message.edit_text(text=text) #выводим сообщение в чат, и вот тут появляется описанная проблема
Всё это происходит внутри хэндлера срабатывающего на нажатие инлайн-кнопки
Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
lst = [{1: 'a'}, {1: 'b'}, {1: 'c'}] #список из трёх словарей с одинаковыми ключами, но разными значениями
for i in lst: #проходим по списку
text = i[1] #достаём значение из каждого словаря по одному ключу, т.к. он одинаковый во всех трёх словарях
await callback.message.edit_text(text=text) #выводим сообщение в чат, и вот тут появляется описанная проблема