#python
Вопрос:
Я работаю над ботом, который использует свою собственную пользовательскую систему. Я хочу настроить своего рода функции входа и регистрации. При запуске бота он предлагает выбрать одну из этих функций со встроенной клавиатурой, и я хочу, чтобы мой бот запустил последовательность входа или регистрации из обработчика обратного вызова. Он должен получить позицию пользователя, логин и пароль, но когда я начал создавать функцию входа в систему, я понял, что не могу вызвать функцию register_next_step_handler. Есть ли какой-нибудь способ использовать его, как я планировал, или, может быть, какие-то другие способы?
Код:
@bot.message_handler(commands=['start'])
def send_welcome(message):
markup = types.InlineKeyboardMarkup()
buttonA = types.InlineKeyboardButton('LOG IN', callback_data='log_in')
buttonB = types.InlineKeyboardButton('SIGN UP', callback_data='sign_up')
markup.row(buttonA)
markup.row(buttonB)
bot.send_message(message.from_user.id, "Please, choose the option below", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def handle(call):
if str(call.data) == "log_in":
bot.send_message(call.message.chat.id, "LOG IN SEQUENCE")
bot.send_message(call.message.chat.id, "What is your position?")
bot.register_next_step_handler(call.message.chat, get_pos)
elif str(call.data) == "sign_up":
bot.send_message(call.message.chat.id, "SIGN UP SEQUENCE")
bot.answer_callback_query(call.id)
def get_pos(call):
global pos
pos = call.data
bot.send_message(call.message.chat.id, "Your position: " pos)
Ошибка:
Traceback (most recent call last):
File "/home/firephoenix/PycharmProjects/pythonProject/main.py", line 35, in <module>
bot.polling(none_stop=True, interval=0)
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/__init__.py", line 619, in polling
self.__threaded_polling(none_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/__init__.py", line 678, in __threaded_polling
raise e
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/__init__.py", line 641, in __threaded_polling
self.worker_pool.raise_exceptions()
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/util.py", line 130, in raise_exceptions
raise self.exception_info
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/util.py", line 82, in run
task(*args, **kwargs)
File "/home/firephoenix/PycharmProjects/pythonProject/main.py", line 21, in handle
bot.register_next_step_handler(call.message.chat, get_pos)
File "/home/firephoenix/.local/lib/python3.8/site-packages/telebot/__init__.py", line 2322, in register_next_step_handler
chat_id = message.chat.id
AttributeError: 'Chat' object has no attribute 'chat'