Работает только одна кнопка telebot

Пишу шоп-бота одноразак в Telegram, но работает только одна кнопка

import telebot
import config

from telebot import types

bot = telebot.TeleBot(config.TOKEN)

@bot.message_handler(commands=['start'])
def welcome(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton("Арбуз ?")
    item2 = types.KeyboardButton("Виноград ?")
    item3 = types.KeyboardButton("Дыня ?")
    item4 = types.KeyboardButton("Персик ?")
    item5 = types.KeyboardButton("Манго ?")
    item6 = types.KeyboardButton("Ледяная Мята ?")

    markup.add(item1, item2, item3, item4, item5, item6)

    bot.send_message(message.chat.id, "Привет, {0.first_name}!?\nВижу ты хочешь себе однаразку??\nТогда тебе повезло с выбором магазина!?\n\nМы только начинаем свой бизнес, но надеюсь тебе понравится наш ассортимент?\n\nВыбирай вкус?".format(message.from_user, bot.get_me()), reply_markup=markup)

@bot.message_handler(content_types=["text"])
def mes(message):
    if message.text == "Арбуз ?":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        item1 = types.KeyboardButton("Проверить ✅")
        item2 = types.KeyboardButton("Отмена ❌")
        markup.add(item1, item2)
        bot.send_message(message.chat.id, "Вкус: Арбуз ?\nЦена: 200 руб\n------------------------\nОтправляй деньги на QIWI - AVITU611\nВ комментариях напиши свой ник TG\nДальше мы спросим у тебя как тебе отправить и куда\nА после уже отправим", reply_markup=markup)

@bot.message_handler(content_types=['text'])
def mes1(message):
    if message.text == "Дыня ?":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        item1 = types.KeyboardButton("Проверить ✅")
        item2 = types.KeyboardButton("Отмена ❌")
        markup.add(item1, item2)
        bot.send_message(message.chat.id, "Вкус: Дыня ?\nЦена: 200 руб\n------------------------\nОтправляй деньги на QIWI - AVITU611\nВ комментариях напиши свой ник TG\nДальше мы спросим у тебя как тебе отправить и куда\nА после уже отправим", reply_markup=markup)

Ответы (1 шт):

Автор решения: Tehnorobot

Попробуйте добавить обработчик кнопок по 'ключу', а также замените ReplyKeyboardMarkup на InlineKeyboardMarkup:

@bot.message_handler(commands=['start'])
def welcome(message):
    markup = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton(text="Арбуз ?", callback_data='Арбуз')
    item2 = types.InlineKeyboardButton(text="Виноград ?",  callback_data='Виноград') 
    # и т.д.
    markup.add(item1, item2)

    bot.send_message(message.chat.id, "Привет, {0.first_name}!?\nВижу ты хочешь себе однаразку??\nТогда тебе повезло с выбором магазина!?\n\nМы только начинаем свой бизнес, но надеюсь тебе понравится наш ассортимент?\n\nВыбирай вкус?".format(message.from_user), reply_markup=markup)

Также лучше обработчик кнопок записать в одну функцию:

@bot.callback_query_handler(func = lambda call: True) 
def mes(call):
    if call.data == "Арбуз":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        item1 = types.KeyboardButton("Проверить ✅")
        item2 = types.KeyboardButton("Отмена ❌")
        markup.add(item1, item2)
        bot.send_message(call.message.chat.id, "Вкус: Арбуз ?\nЦена: 200 руб\n------------------------\nОтправляй деньги на QIWI - AVITU611\nВ комментариях напиши свой ник TG\nДальше мы спросим у тебя как тебе отправить и куда\nА после уже отправим", reply_markup=markup)
    elif call.data == "Дыня":
       print('Дыня')
    elif call.data == "Виноград":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        item1 = types.KeyboardButton("Проверить ✅")
        item2 = types.KeyboardButton("Отмена ❌")
        markup.add(item1, item2)
        bot.send_message(call.message.chat.id, "Вкус Винограда и т.д.", reply_markup=markup)
    #И т. д. 
    bot.answer_callback_query(callback_query_id=call.id)

Далее обрабатывайте нажатия из функции @bot.callback_query_handler(func = lambda call: True):

@bot.message_handler(content_types=['text'])
def mes1(message):
    if message.text == "Проверить ✅":
        bot.send_message(message.chat.id, "ok")
    elif message.text == "Отмена ❌":
        bot.send_message(message.chat.id, 'no')

bot.polling()
→ Ссылка