Python TelegramBot Вывод информации из базы данных Mysql через кнопки
я работаю в Python 3 и базы данных Mysql 10.1.13-MariaDB
Хочу из базы данных вывести информацию(select) используя кнопки TelegramBot. Например если в телеграм боте нажать на кнопку "Остатки" или "Долг" используя запрос отправить результат пользователю. У меня есть код кнопки и запрос НО у меня не получается объединить их если нажать первую кнопку ответить первым запросам или если нажать на вторую кнопку ответить вторим запросам (не хватает знаний) Извините, если тупой вопрос, я новичок. Подскажите пожалуйста. Спасибо
import telebot
from telebot import types
import mysql.connector
bot = telebot.TeleBot("TOKEN")
db = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="hosil"
)
kontragent = db.cursor()
kontragent.execute("SELECT * FROM kontragent")
myresult = kontragent.fetchall()
for x in myresult:
print(x)
cursor = db.cursor()
cursor.execute("SELECT * FROM product")
myresult1 = cursor.fetchall()
for x in myresult1:
print(x)
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
btn1 = types.KeyboardButton("Склад")
btn2 = types.KeyboardButton("Долг")
markup.add(btn1, btn2)
send_mess = f"<b>Привет {message.from_user.first_name}!</b>\nВведите "
bot.send_message(message.chat.id, send_mess, parse_mode='html', reply_markup=markup)
bot.polling(none_stop=True)
Ответы (1 шт):
Немного не понял вопрос, предположу что тебе не понятно, как выводить при нажатии разных кнопок - разные данные. Если не прав - ответь в комментарии под моим сообщением)
Судя по примеру отсюда, клавиатура позволяет отправлять сообщение одним нажатием. Соответственно необходимо просто прикрутить ловлю этого сообщения, например:
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text.lower() == 'долг':
bot.send_message(message.chat.id, <переменная с данными>)