Проблема с кнопками (модуль pyTelegramBotAPI)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'menu':
markup = types.InlineKeyboardMarkup(row_width=3)
item1 = types.InlineKeyboardButton("Расписание", callback_data='rasp')
item2 = types.InlineKeyboardButton("Д.З.", callback_data='hw')
item3 = types.InlineKeyboardButton("Редактировать Д.З.", callback_data='edithw')
item4 = types.InlineKeyboardButton("Справка", callback_data='faq')
markup.add(item1, item2, item3, item4)
bot.send_message(call.from_user.id, "Меню:".format(call.from_user, bot.get_me()), parse_mode='html',
reply_markup=markup)
if call.message:
if call.data == 'rasp':
markup = types.InlineKeyboardMarkup(row_width=2)
raspitem1 = types.InlineKeyboardButton("Понедельник", callback_data='monday')
raspitem2 = types.InlineKeyboardButton("Вторник", callback_data='tuesday')
raspitem3 = types.InlineKeyboardButton("Среда", callback_data='wednesday')
raspitem4 = types.InlineKeyboardButton("Четверг", callback_data='thursday')
raspitem5 = types.InlineKeyboardButton("Пятница", callback_data='friday')
raspitem6 = types.InlineKeyboardButton("Суббота", callback_data='saturday')
raspitem7 = types.InlineKeyboardButton("Назад", callback_data='menu')
markup.add(raspitem1, raspitem2, raspitem3, raspitem4, raspitem5, raspitem6, raspitem7)
bot.send_message(call.from_user.id, "Выбери день недели:".format(call.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
if call.message:
if call.data == 'monday':
bot.send_message(call.from_user.id, "Расписание на понедельник:\nИстория (401)\nГеография (102)\nМузыка (108)\nМатематика (222)\nМатематика (222)")
if call.data == 'tuesday':
bot.send_message(call.from_user.id, "Расписание на вторник:\nБиология (417)\nРусский (308)\nАнглийский (303, 311, 309)\nМатематика (222)\nРусский (308)")
if call.data == 'wednesday':
bot.send_message(call.from_user.id, "Расписание на среду:\nМатематика (222)\nАнглийский (303, 311, 309)\nВторой иностранный (106, 107, 224)\nЛитература (308)\nРусский (308)\nСловесность (308)")
if call.data == 'thursday':
bot.send_message(call.from_user.id, "Расписание на четверг:\nТехнология (труд)\nТехнология (труд)\nРусский (308)\nАнглийский (303, 311, 309)\nЛитература (308)")
if call.data == 'friday':
bot.send_message(call.from_user.id, "Расписание на пятницу:\nФиз-ра (спортзал)\nПсихология (201)\nИстория (406)\nМатематика (109)\nВторой иностранный (106, 107, 313)")
if call.data == 'saturday':
bot.send_message(call.from_user.id, "Расписание на субботу:\nФиз-ра (спортзал)\nЛитература (308)\nРусский (308)\nИЗО (103)\nИнформатика")
Проблема в том, что когда я нажимаю кнопку "Расписание", ничего не происходит. В чём проблема?
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
не совсем ясно зачем вам if call.message:.
для того чтобы код заработал, вам требуется исправить:
if call.data == 'menu':
<action>
elif call.data == 'rasp':
<action>
elif call.data == 'monday':
<action>
else:
<action>