@cerecuev

NameError: name 'call' is not defined. Did you mean: 'all'?

Здравствуйте, уважаемые юзеры "Хабра".
Хочу сделать так, чтобы при выборе последний кнопки, отправлялось сообщение главное меню и кнопки с главного меню. Использовал call, но почему то выдает ошибку "NameError: name 'call' is not defined. Did you mean: 'all'?". Ниже прикрепил кусок кода. Помогите решить проблему, заранее спасибо <3
if message.text == 'Последние новости':
            markup = types.InlineKeyboardMarkup(row_width=1)
            button1 = types.InlineKeyboardButton("Итоги заключительного этапа Всероссийской олимпиады школьников", url='https://nrg-ng1.obr.sakha.gov.ru/news/front/view/id/3166360')
            button2 = types.InlineKeyboardButton("Выбор внеурочной деятельности на 2023-2024 учебный год", url='https://nrg-ng1.obr.sakha.gov.ru/news/front/view/id/3164436')
            button3 = types.InlineKeyboardButton("Учащиеся Гимназии №1 г. Нерюнгри им. С.С. Каримовой стали победителями VIII Всероссийской", url='https://nrg-ng1.obr.sakha.gov.ru/news/front/view/id/3163712')
            button4 = types.InlineKeyboardButton("Итоги регионального чемпионата Профессионалы 2023 ", url='https://nrg-ng1.obr.sakha.gov.ru/news/front/view/id/3164450')
            button5 = types.InlineKeyboardButton("Муниципальный этап конкурса Учитель года ", url='https://nrg-ng1.obr.sakha.gov.ru/news/front/view/id/3163713')
            button6 = types.InlineKeyboardButton("Меню  ", callback_data='mainmenu')
            markup.add(button1,button2,button3,button4,button5,button6)
            bot.send_message(message.chat.id, "Привет, {0.first_name}! Здесь ты можешь посмотреть, последние 5 новостей".format(message.from_user), reply_markup=markup)
        if call.data == "mainmenu":
            markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
            item1 = types.KeyboardButton('Расписание')      
            item2 = types.KeyboardButton('Последние новости')
            item4 = types.KeyboardButton('Сайт гимназии')
            item5 = types.KeyboardButton('Электронный дневник')
            markup.add(item1,item2,item4,item5)
            bot.send_message(message.chat.id, 'Привет, {0.first_name}!. Это первый неофициальный телеграмм бот ' .format(message.from_user), reply_markup = markup)
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
тебе нужен обработчик колбэка
# Обработчик callback
@bot.callback_query_handler(func=lambda c: True)
def callback(c): # мне удобней через переменную `c`, а не `call` или `callback`
    if c.data == 'main-menu':
        ...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы