Top.Mail.Ru
Ответы

Помогите с python telebot

1 часть
if call.data == 'question_3':
global x
x = False
bot.send_message(call.message.chat.id, text="Введите контактный номер телефона")
@bot.message_handler(func=lambda message: True)
def ask_name(message):
global x
if x == False:
information_user.append(message.text)
bot.send_message(message.chat.id, "Сколько вам лет ?")
bot.register_next_step_handler(message, ask_surname)
x = True



2 часть
elif call.data == 'feedback':
global b
b = 1
bot.send_message(call.message.chat.id, text="Оставьте свой отзыв")
@bot.message_handler(func=lambda message: True)
def feedback_def(message):
global b
if b == 1:
information_help.append(message.text)
bot.send_message(call.message.chat.id, text="Благодарим за помощь в улучшении качества оказываемых услуг!")
b = 2

смысл чтобы когда была вызвана одна из функций то тогда она будет работать иначе нет если я буду использовать одну часть кода то всё нормально но когда я пользуюсь и второй то 2 часть не работает (помогите пожалуйста)

если нужен скрин пишите

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Зачем нам твой скрин? Когда вставляешь код, его нужно засовывать в специальное окно, чтобы можно было видеть отступы. А так без отступов, мало что можно сказать, но видно сразу, что это не весь код и как отрабатывает у тебя условие

1
 if call.data == 'question_3': 

чтобы потом сработало условие

1
 elif call.data == 'feedback':  

мне не понятно

Аватар пользователя
Мыслитель

Неправильно с переменной X обращаешься

12345678910111213
 @bot.message_handler(commands=['question_3']) 
def question_3(message): 
    global x 
    x = False 
    bot.send_message(message.chat.id, "Введите контактный номер телефона") 
    x = True 
 
@bot.message_handler(func=lambda message: True) 
def ask_name(message): 
    global x 
    if x: 
        information_user.append(message.text) 
        bot.send_message(message.chat.id, "Сколько вам лет ?") 

Так пробуй