При вызове self.bot.register_next_step_handler(asdas, Bzu_func.calc_info) Код не ожидает ответа от пользователя

Проблемное место я закоментировал, проблема в том что при срабатывании self.bot.register_next_step_handler код не ждет ответа от пользователя и поэтому в функцию calc_info не передается message и возникает ошибка:

TypeError: Bzu_func.calc_info() missing 1 required positional argument: 'message'

Как сделать так чтобы он ждал ответа пользователя?

import os
from telebot import TeleBot
from dotenv import load_dotenv
from telebot.types import ReplyKeyboardMarkup, KeyboardButton

from db_postgres import BotDB
from func.bzu_func import Bzu_func

load_dotenv()
bot = TeleBot(os.getenv('API_KEY'))

BotDB = BotDB()
Bzu_func = Bzu_func(bot)

FUNC_BUTTON = ["Посмотреть че сьел", "Записать че сьел"]



@bot.message_handler(commands=['start'])
def first_message(message):
    if (not BotDB.user_exsistis(message.from_user.id)):
        BotDB.add_user(message.from_user.id, message.from_user.first_name)
    else:
        BotDB.user_update_last_time(message.from_user.id)
    bot.send_message(message.chat.id, f"Привет {message.from_user.first_name}. Этот бот считает прогресс дневной нормы калорий и белка(может и не считает)")
    markup = ReplyKeyboardMarkup(row_width=2)
    for button_name in FUNC_BUTTON:
        item_button = KeyboardButton(button_name)
        markup.add(item_button)
    bot.send_message(message.chat.id, "Кнопочку нажмите", reply_markup=markup)

@bot.message_handler(func= lambda call:True)
def send_kall_status(message):
    if message.text == "Записать че сьел":
        bot.send_message(message.chat.id,"Напишите количество калорий")
        bot.register_next_step_handler(message, Bzu_func.calc_info)
        BotDB.add_bzu_info(message.from_user.id, Bzu_func.protein, Bzu_func.all_calories)

        # user_bzu_info = BotDB.get_bzu_info(message.from_user.id)
        # bot.send_message(message.chat.id, f"Количество калории: {user_bzu_info[1]}, Количество белка: {user_bzu_info[0]}")
    elif message.text == "Посмотреть че сьел":
        pass
bot.polling()

ФАЙЛ С КЛАССОМ:

from db_postgres import BotDB

BotDB = BotDB()

class Bzu_func:
    def __init__(self, bot):
            self.state = 'kalories'
            self.all_calories = 0
            self.protein = 0
            self.writen_calories = 0
            self.bot = bot

    def calc_info(self, message):
        message_kall_info = message.text
        if message_kall_info.isdigit() == True:
            if self.state == 'kalories':
                self.state = "protein"
                self.writen_calories = int(message_kall_info)
                self.all_calories += self.writen_calories
                self.state = 'protein'

                asdas = self.bot.send_message(message.chat.id, "Напишите количество белка")
                self.bot.register_next_step_handler(asdas, Bzu_func.calc_info) # ВОТ В ЭТОМ МОМЕНТЕ ПРОБЛЕМА!!!
            elif self.state == 'protein':
                self.state = "kalories"
                count_protein = int(message_kall_info)
                self.protein += count_protein
                self.bot.send_message(message.chat.id, "белки записаны")

                BotDB.add_bzu_info(message.from_user.id, self.protein, self.all_calories)

                user_bzu_info = BotDB.get_bzu_info(message.from_user.id)
                self.bot.send_message(message.chat.id, f"Количество калории: {user_bzu_info[1]}, Количество белка: {user_bzu_info[0]}")
        else:
            self.state = "none"
            self.bot.send_message(message.chat.id, "Вы ввели не цифрууууууууууууууууууууууу")

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