@Elvira15

Как внести в базу данных ответ inline-клавиатуры?

Добрый день, есть телеграмм-бот с базой данных MySQL. В боте есть инлайн клавиатура с 3 кнопками. Можно ли как то сделать, чтобы ответ(т.е. нажатие на одну из кнопок) заносилось в БД. Вот сама база
cursor = db.cursor()
cursor.execute("CREATE TABLE Bolezni (Bolezn VARCHAR(25), Temp ENUM('36-37', '37.1-38', '38.1-39'), Rvota VARCHAR(3), Dykhanie VARCHAR(25), Diareya VARCHAR(3), Poved VARCHAR(25), Kashel VARCHAR(3), Appetit VARCHAR(25), Ves VARCHAR(25), Svetoboyazn VARCHAR(3), Zapakh VARCHAR(3), Pyatna VARCHAR(3), Lechenie VARCHAR(255), PRIMARY KEY (Bolezn))")
sql="INSERT INTO Bolezni (Bolezn, Temp, Rvota, Dykhanie, Diareya, Poved, Kashel, Appetit, Ves, Svetoboyazn, Zapakh, Pyatna, Lechenie) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"

Вот код инлайн клавиатуры
if call.data == 'Dolphin':
        keyboard = types.InlineKeyboardMarkup()
        item1 = types.InlineKeyboardButton("36-37", callback_data='Normal')
        item2 = types.InlineKeyboardButton("37.1-38", callback_data='Middling')
        item3 = types.InlineKeyboardButton("38.1-39", callback_data='Hight')
        keyboard.add(item1, item2, item3)
        bot.send_message(call.message.chat.id, text='Выберите температуру' 
          'тела у дельфина', reply_markup=keyboard)
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 1
danila763
@danila763
Учу python, sql
Сразу скажу что с aiogram познакомился буквально вчера, так что не судите строго

Вообщем, думаю надо создать хендлер для кнопки:
@dp.callback_query_handler(text="Normal")  # text сопоставляется с callback_data
async def send_random_value(call: types.CallbackQuery):
    
    # Тут ваш код добавляющий Normal в бд

    await call.answer()  # Нужно чтобы на кнопке не было иконки часов
    await call.message.delete_reply_markup()  # Убирает клавиатуру


ну и так для всех 3-х кнопок
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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