@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 всегда равен значению последнего элемента массива, как сделать так, чтобы он выводил данные корректно
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 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, и в нём уже смотри, какой текст тебе пришёл, какой пользователь его отправил, и что с этим текстом надо делать.
Ответ написан
Ваш ответ на вопрос

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

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