Бот на питоне, telebot, registr_next_step_handler
Как написать код, чтоб если один чувак что-то делает, например регистрируется, то приходит сообщение с подтверждением другому, если второй написал, что ок, то первого регистрируют. Я еще толком не знаю питон, но мне надо как можно быстрее сделать этого бота для учебы. Можно ли как-то это сделать без стейтов? Я не понимаю, как с ними написать. Это только часть кода, у меня просто не работает именно в этом месте. Бот, когда нужно подтверждение от директора, пишет только сообщение из последнего блока, что не понимает, как это исправить?
def handle_security(message):
bot.send_message(director_chat_id, "Подтвердите (да/нет)")
bot.register_next_step_handler(message, process_security_confirmation)
def process_security_confirmation(message):
if message.text.lower() == "да":
bot.send_message(message.chat.id, "Вы подтверждены как охранник.")
else:
bot.send_message(message.chat.id, "Вы не подтверждены как охранник.")
@bot.message_handler(content_types = ['text'])
def clovo(message):
bot.send_message(message.chat.id, 'Я вас не понимаю? Пишите только то, что есть в командах')
Ответы (1 шт):
Невозможно точно понять проблему лишь по куску кода. В следующий раз, пожалуйста, подкрепляйте вопрос полным кодом.
Чтобы этому самому "другому" приходило подтверждение, необходимо, чтобы у вас был ID этого "другого". Для подтверждения "другим" пользователем первого есть много методов, давайте разберём чуть попроще при помощи команд:
user_confirms = {} #список потверждений в формате userid: bool
# <...> много строк вашего кода
bot.send_message(id_другого, "Вы подтверждаете регистрацию пользователя {id_регистрируемого} ? Для этого напишите <pre>/confirm {id_регистрируемого}</pre>", parse_mode='HTML')
@bot.message_handler(content_types=['text'])
def text_hander(message):
if message.text.startswith('/confirm'):
registeruserid = message.text.replace('/confirm ','',1).replace('/confirm','') #получаем id регистрируемого из команды
user_confirms[registeruserid] = True
bot.send_message(registeruserid, 'Вы приняты')