Inline button telegram-bot-api
как при нажатие кнопок добавлять записи в MYsql например кнопка LIKE при нажатие должна добавляться +1 к к существующему записи
Ответы (1 шт):
Автор решения: Arorior
→ Ссылка
Если вы используете PyTelegramBotAPI
то для инлайн кнопок все уже реализовано.
Для начала сделаем разметку нашей будущей клавиатуры
keyboard = telebot.types.InlineKeyboardMarkup()
Далее создадим кнопку и добавим ее к клавиатуре
button = telebot.types.InlineKeyboardButton('Like', callback_data='like')
keyboard.row(button)
А дальше мы можем ловить нажатие на кнопку благодаря callback_data
@bot.callback_query_handler(func=lambda call: True)
def callback_handler(call):
num = 0
if call.data == 'like':
...
А дальше все ещё проще. Воспользуемся методом edit_message_text и изменим клавиатуру
num += 1
keyboard = telebot.types.InlineKeyboardMarkup()
button = telebot.types.InlineKeyboardButton(f'Like {num}', callback_data='like')
keyboard.row(button)
bot.edit_message_text(message_id=call.message.message_id, text='text', chat_id=call.from_user.id, reply_markup=keyboard)
Главное не забудьте проверять нажатия от пользователей, чтобы это не превратилось в кликер