Не выполняется if когда условие исполнено
Код:
@bot.message_handler(commands=["start"])
def start(message):
markup= types.ReplyKeyboardMarkup(resize_keyboard= True, row_width= 2)
ygadovat = types.KeyboardButton ('Угадывать число')
zagadovat = types.KeyboardButton ('Загадывать число')
markup.add(ygadovat, zagadovat)
bot.send_message(message.chat.id, "Приветствую! Давай начнем игру", reply_markup= markup)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text == "Угадывать число":
markup= types.ReplyKeyboardMarkup(resize_keyboard= True, row_width= 2)
itd = types.KeyboardButton ('Это число чётное?')
itbd = types.KeyboardButton ('Это число имеет 0 на конце?')
markup.add(itd, itbd)
bot.send_message(message.chat.id,'Я загадал число от 1 до 100, сможешь ли ты его угадать?',reply_markup= markup)
y= random.randint(1, 10)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text == "Это число чётное?":
x= y % 2
if x == 0:
bot.send_message(message.chat.id,'Да')
Все работает до части, где говорится о четности числа, пробовал по всякому, подставлял else, все равно
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
Твою задумку лучше всего сделать через
bot.register_next_step_handler(message,имя_функции)
не стоит называть функции одним и тем же названием handle_text подправил твой код, должно работать
@bot.message_handler(commands=["start"])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
markup.add(types.KeyboardButton('Угадывать число'),
types.KeyboardButton('Загадывать число'))
bot.send_message(message.chat.id, "Приветствую! Давай начнем игру", reply_markup=markup)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text == "Угадывать число":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
markup.add(types.KeyboardButton('Это число чётное?'),
types.KeyboardButton('Это число имеет 0 на конце?'))
bot.send_message(message.chat.id, 'Я загадал число от 1 до 100, сможешь ли ты его угадать?',
reply_markup=markup)
y = random.randint(1, 10)
bot.register_next_step_handler(message, nohandle_text)
def nohandle_text(message):
if message.text == "Это число чётное?":
x = y % 2
if x == 0:
bot.send_message(message.chat.id, 'Да')