Задать вопрос
@Valenco

Как вывести данные из массива в сообщение?

есть такой код:
for product in select_db():
@dp.callback_query_handler(text=product['name_but'])
async def pole(message: types.message):
await bot.send_message(message.from_user.id, product['desk'], reply_markup=but.nav_button)

в select_db() возвращает данные из бд в виде массива, тут @dp.callback_query_handler(text=product['name_but'])
name_but всегда равен значению последнего элемента массива, как сделать так, чтобы он выводил данные корректно
  • Вопрос задан
  • 155 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
for product in select_db():
    @dp.callback_query_handler(text=product['name_but'])
    async def pole(message: types.message):
        await bot.send_message(message.from_user.id, product['desk'], reply_markup=but.nav_button)

Ты делаешь глупость.
Просто потому, что после того, как этот код отработает, созданные тобой копии обработчика pole() останутся, и будут мешать.
Используй один, более общий обработчик callback_query_handler, и в нём уже смотри, какой текст тебе пришёл, какой пользователь его отправил, и что с этим текстом надо делать.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 01:58
20000 руб./за проект
18 янв. 2025, в 23:27
50000 руб./за проект
18 янв. 2025, в 21:28
1000 руб./за проект