@azama2t

Почему не работает register_next_step_handler ( telebot )?

import telebot
from telebot import types
import config

bot = telebot.TeleBot(config.token)
ADMINS = [1111111]

doska = ["лkv"]



@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("Доска Почета")
    btn2 = types.KeyboardButton("❓ Задать вопрос")
    markup.add(btn1, btn2)
    bot.send_message(message.chat.id, text="Привет, {0.first_name}! Я бот инженерной школы".format(message.from_user), reply_markup=markup)

@bot.message_handler(regexp="Доска Почета")
def doska_pochet(message):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton("В главное меню")
        btn2 = types.KeyboardButton("Редактировать Доску Почета")
        markup.add(btn1)
        if message.chat.id in ADMINS:
             markup.add(btn2)
        bot.send_message(message.chat.id, text=doska[-1],reply_markup=markup)

@bot.message_handler(regexp="В главное меню")
def doska3(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("Доска Почета")
    btn2 = types.KeyboardButton("❓ Задать вопрос")
    btn3 = types.KeyboardButton("ADMIN PANEL")
    markup.add(btn1, btn2)

    if message.chat.id in ADMINS:
         markup.add(btn3)

    bot.send_message(message.chat.id, text="Вы вернулись в глаавное меню", reply_markup=markup)

@bot.message_handler(regexp="Редактировать Доску Почета")
def red_doska(message):
    if message.chat.id in ADMINS:
        bot.send_message(message.chat.id, text="Жду новое значение")
        msg = message.text
        bot.register_next_step_handler(msg,redact)
def redact(message):
    bot.send_message(message.chat.id, message.text)


if __name__ == '__main__':
     print("bor start work")
     bot.infinity_polling()


Почему не работает bot.register_next_step_handler ? Может его можно чем-то заменить ?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@twistfire92
Python backend developer
Ошибка в параметрах, которые передаете в register_next_step_handler

@bot.message_handler(regexp="Редактировать Доску Почета")
def red_doska(message):
    if message.chat.id in ADMINS:
        msg = bot.send_message(message.chat.id, text="Жду новое значение")
        bot.register_next_step_handler(msg, redact)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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