@Dato38it

Как вывести весь список из базы данных в Telegram bot?

Всем привет. хочу вывести в тестовый телеграм бот, но данные выдает только в консоле все данные, а в телеграме он выдает данные только первого столбца. как сделать так, чтобы отображать запросы всех столбцов?
@bot.message_handler(content_types=['text'])
def funcs_mess(message):
    if message.text == 'Переводчик':
        bot.send_message(message.chat.id, 'Напишите сообщение, которое нужно перевести:')
        bot.register_next_step_handler(message, translator_mess)
    elif message.text == 'Дополнить словарь':
        bot.send_message(message.chat.id, 'Напишите 2 сообщения (предложение и его перевод), которые нужно добавить в словарь:')
        bot.register_next_step_handler(message, dictionaryAdd_mess1)
    elif message.text == 'Словарь':
        bot.send_message(message.chat.id, 'Вывожу словарь:')
        #bot.register_next_step_handler(message, dictionary_mess)
        with closing(connect_to_db()) as conn:
            with conn.cursor() as cursor:
                cursor.execute('select words, Dictionary.translate, description, Terms.translate from Dictionary inner join Terms on Dictionary.id = Terms.words_id;')
               for row in cursor:
                    print(row)
                    bot.send_message(message.chat.id, row)
        bot.reply_to(message, "Selected to the dictionary.")
    else:
        bot.send_message(message.chat.id, 'Я тебя не понимаю')
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
Wispik
@Wispik
Только первый столбец отправляется, потому что в row кортеж. Его нужно соединить в строку
bot.send_message(message.chat.id, ' '.join(row))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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