TypeError: 'ReplyKeyboardMarkup' object is not callable telebot
Всем привет. Есть у меня такая часть функции в телеботе.
@bot.message_handler(content_types=['text'])
def start_text(message):
if message.text == 'Игры?':
markup = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
markup("GTA V Premium","RDR 2", "Watch Dogs 2") #bug
markup.row("?Назад в меню")
bot.send_message(message.chat.id,'Какую игру вы хотите преобрести?:\n1. GTA V Premium\n2. Red Dead Redemtion 2\n3. Watch Dogs 2 (Deluxe)',reply_markup=markup)
harlos = types.InlineKeyboardMarkup(row_width=2)
harlos_button = types.InlineKeyboardButton("Еще продукты",callback_data="next1")
harlos.add(harlos_button)
opt_buttons = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
opt_buttons.row("Ghostrunner", "Cyberpunk 2077")
opt_buttons.row("Обратно""?Назад в меню")
bot.send_message(message.chat.id,f"Хорошо, вот второй список\nЧто здесь ты хочешь преобрести?:\n1.Ghostrunner - {ghostrunner_price} рублей\n2. Cyberpunk 2077 - {ghostrunner_price} рублей",reply_markup=harlos_button)
elif message.text == "?Назад в меню":
info(message)
elif message.text == "GTA V Premium":
markup111 = types.InlineKeyboardMarkup(row_width=2)
mm = types.InlineKeyboardButton("Да!✅",callback_data="yes")
#mm2 = types.InlineKeyboardButton("Нет❌",callback_data='no')
markup111.add(mm)
bot.send_message(message.chat.id,f"Хороший выбор! GTA V Premium стоит {gtav_price} рублей. Перейдем к оплате?",reply_markup = markup111)
При срабатывании этой части функции, у меня ошибка на 4 строке. Сама ошибка:
markup("GTA V Premium","RDR 2", "Watch Dogs 2") #bug
TypeError: 'ReplyKeyboardMarkup' object is not callable
Как можно пофиксить. Часть этого кода писал не я, поэтому не обессудьте за названия переменных, в ближайшее время исправлю названия
Ответы (1 шт):
Автор решения: Maxim Chyorny
→ Ссылка
Вы неправильно добавляете кнопки в клавиатуру, должно быть так:
markup.add("GTA V Premium")
markup.add("RDR 2")
markup.add("Watch Dogs 2")