@sashx

Почему выскакивает ошибка AttributeError?

Почему вылезает ошибка:

Traceback (most recent call last):
  File ".../stelage1.py", line 110, in <module>
    bot.load_next_step_handlers()
  File ".../venv/lib/python3.8/site-packages/telebot/__init__.py", line 248, in load_next_step_handlers
    self.next_step_backend.load_handlers(filename, del_file_after_loading)
  File ".../venv/lib/python3.8/site-packages/telebot/handler_backends.py", line 86, in load_handlers
    tmp = self.return_load_handlers(filename, del_file_after_loading=del_file_after_loading)
  File ".../venv/lib/python3.8/site-packages/telebot/handler_backends.py", line 111, in return_load_handlers
    handlers = pickle.load(file)
AttributeError: Can't get attribute 'process_age_step' on <module '__main__' from '
.../PycharmProjects/Stelage_Bot/stelage1.py'>


Вот код:

import telebot
from telebot import types  # кнопки

bot = telebot.TeleBot("")

user_data = {}


class User:
    def __init__(self, city):
        self.city = city
        self.fio = ''
        self.telephone = ''
        self.iin = ''
        self.adress = ''
        self.napravlenie = ''


@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
    markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
    itembtn1 = types.KeyboardButton('Павлодар')
    itembtn2 = types.KeyboardButton('Экибастуз')
    itembtn3 = types.KeyboardButton('Нур-Султан')
    itembtn4 = types.KeyboardButton('Алматы')
    itembtn5 = types.KeyboardButton('Атырау')
    itembtn6 = types.KeyboardButton('Тараз')
    markup.add(itembtn1, itembtn2, itembtn3, itembtn4, itembtn5, itembtn6)

    msg = bot.send_message(message.chat.id, 'Ваш город?', reply_markup=markup)
    bot.register_next_step_handler(msg, process_city_step)


def process_city_step(message):
    try:
        user_id = message.from_user.id
        user_data[user_id] = User(message.text)

        msg = bot.send_message(message.chat.id, "Введите Ф.И.О")
        bot.register_next_step_handler(msg, process_fio_step)
    except Exception as e:
        bot.reply_to(message, 'oooops')


def process_fio_step(message):
    try:
        user_id = message.from_user.id
        user_data[user_id] = User(message.text)

        msg = bot.send_message(message.chat.id, "Введите номер Вашего телефона")
        bot.register_next_step_handler(msg, process_telephone_step)
    except Exception as e:
        bot.reply_to(message, 'oooops')


def process_telephone_step(message):
    try:
        user_id = message.from_user.id
        user_data[user_id] = User(message.text)

        msg = bot.send_message(message.chat.id, "Введите свой ИИН")
        bot.register_next_step_handler(msg, process_iin_step)
    except Exception as e:
        bot.reply_to(message, 'oooops')


def process_iin_step(message):
    try:
        user_id = message.from_user.id
        user_data[user_id] = User(message.text)

        msg = bot.send_message(message.chat.id, "Введите свой адресс")
        bot.register_next_step_handler(msg, process_adress_step)
    except Exception as e:
        bot.reply_to(message, 'oooops')


def process_adress_step(message):
    try:
        user_id = message.from_user.id
        user_data[user_id] = User(message.text)
        markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        itembtn1 = types.KeyboardButton('сложное МП')
        itembtn2 = types.KeyboardButton('среднее МП')
        itembtn3 = types.KeyboardButton('простое МП')
        itembtn4 = types.KeyboardButton('сайт-визитка')
        itembtn5 = types.KeyboardButton('интернет магазин')
        itembtn6 = types.KeyboardButton('сайт с базой данных')

        markup.add(itembtn1, itembtn2, itembtn3, itembtn4, itembtn5, itembtn6)

        msg = bot.send_message(message.chat.id, "Выберите направление разработки", reply_markup=markup)
        bot.register_next_step_handler(msg, process_napravlenie_step)
    except Exception as e:
        bot.reply_to(message, 'oooops')


def process_napravlenie_step(message):
    try:
        user_id = message.from_user.id
        user = user_data[user_id]
        user.napravlenie = message.text
        bot.send_message(message.chat.id, "Заявка подана!")
    except Exception as e:
        bot.reply_to(message, 'Ошибка !')


bot.enable_save_next_step_handlers(delay=2)

bot.load_next_step_handlers()

if __name__ == '__main__':
    bot.polling(none_stop=True)


При том, почему-то в ошибке есть фукнция "process_age_step", которая была написана в другом файле. Почему она вылезает в этом коде (в котором даже нет этой функции)? Как исправить эту ошибку?
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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