Telegram Bot API

Короче бот должен ознакомить пользователя с продукцией ресейлера , я сделал одну функцию которая выводит марки телефонов , вторая выводит модели, третья в зависимости от выбранной модели на экран будет выводить фото, описание и т.д. .Проблема заключается в том что в третей функции не выводится ни-чего а в консоли выводится вот такая ошибка NameError (“name 'message' is not defined”).При этом если я поставлю сначала третью то она будет работать (странно).Я не понимаю по какой причине это происходит.

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("Catalogo")
    item2 = types.KeyboardButton("Regole")
    markup.add(item1, item2)

    bot.send_message(message.chat.id, "Benvenuto, {0.first_name}!\nIo sono - <b>{1.first_name}</b>.".format(message.from_user, bot.get_me()),
    parse_mode='html', reply_markup=markup)

@bot.message_handler(content_types=['text'])

def risposta(message):
    if message.chat.type == 'private':
        if message.text == "Catalogo":

            markup = types.InlineKeyboardMarkup(row_width = 1)

            item1 = types.InlineKeyboardButton("iPhone", callback_data = "iPhone")
            item2 = types.InlineKeyboardButton("Samsung", callback_data = "Samsung")
            item3 = types.InlineKeyboardButton("Huawei", callback_data = "Huawei")
            item4 = types.InlineKeyboardButton("Xiaomi", callback_data = "Xiaomi")

            markup.add(item1, item2, item3, item4)
            bot.send_message(message.chat.id, "Scegliete cosa vi interessa:", reply_markup=markup)


        elif message.text == "Regole":
            bot.send_message(message.chat.id, " 1)Dovete vivere a Roma.\n2)Il pagamento viene effettuato dopo aver scielto il telefono.\n3)")

        else :
            bot.send_message(message.chat.id, "Scusate non ho capito")

@bot.callback_query_handler(func=lambda call: True)

def callback_inline(call):
    try:        
        if call.message:

            if call.data == "Samsung" :

                markup = types.InlineKeyboardMarkup(row_width = 3)

                item1 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item2 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item3 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item4 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item5 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item6 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item7 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item8 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item9 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item10 = types.InlineKeyboardButton("Model", callback_data = "Model")

                markup.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10)
                bot.send_message(call.message.chat.id, "Scegliete il modello:", reply_markup=markup)

            elif call.data == "Xiaomi":

                markup = types.InlineKeyboardMarkup(row_width = 3)

                item1 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item2 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item3 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item4 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item5 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item6 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item7 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item8 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item9 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item10 = types.InlineKeyboardButton("Model", callback_data = "Model")

                markup.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10)
                bot.send_message(call.message.chat.id, "Scegliete il modello:", reply_markup=markup)

            elif call.data == "Huawei":

                markup = types.InlineKeyboardMarkup(row_width = 3)

                item1 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item2 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item3 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item4 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item5 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item6 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item7 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item8 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item9 = types.InlineKeyboardButton("Model", callback_data = "Model")
                item10 = types.InlineKeyboardButton("Model", callback_data = "Model")

                markup.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10)
                bot.send_message(call.message.chat.id, "Scegliete il modello:", reply_markup=markup)

            elif call.data == 'iPhone':

                markup = types.InlineKeyboardMarkup(row_width = 3)

                item1 = types.InlineKeyboardButton("iPhone 11 Pro Max", callback_data = "iPhone 11 Pro Max")
                item2 = types.InlineKeyboardButton("iPhone 11 Pro", callback_data = "iPhone 11 Pro")
                item3 = types.InlineKeyboardButton("iPhone 11", callback_data = "iPhone 11")
                item4 = types.InlineKeyboardButton("iPhone XS Max", callback_data = "iPhone XS Max")
                item5 = types.InlineKeyboardButton("iPhone XS", callback_data = "iPhone XS")
                item6 = types.InlineKeyboardButton("iPhone XR", callback_data = "iPhone XR")
                item7 = types.InlineKeyboardButton("iPhone X", callback_data = "iPhone X")
                item8 = types.InlineKeyboardButton("iPhone 8 Plus", callback_data = "iPhone 8 Plus")
                item9 = types.InlineKeyboardButton("iPhone 8", callback_data = "iPhone 8")
                item10 = types.InlineKeyboardButton("iPhone 7 Plus", callback_data = "iPhone 7 Plus")
                item11 = types.InlineKeyboardButton("iPhone 7", callback_data = "iPhone 7")

                markup.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11)
                bot.send_message(call.message.chat.id, "Scegliete il modello:", reply_markup=markup)

            else :
                bot.send_message(message.chat.id, "Scusate non ho capito")


            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Catalogo",
            reply_markup=None)

    except Exception as e:
        print(repr(e))

@bot.callback_query_handler(func=lambda call: True)

def modello(call):
    try :
         if call.message:

            if call.data == "iPhone 11 Pro Max" :
                bot.send_message(call.message.chat.id, "OKKK")

            elif call.data == "iPhone 11 Pro" :
                bot.send_message(call.message.chat.id, "OKK")                

    except Exception as e:
       print(repr(e))


bot.polling(none_stop=True)

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