Telegram bot for school project

Viewed 28

I'm making a small bot to train elementary arithmetic, but I don't understand how to make it so that after selecting a topic, after entering the correct answer, the following example of the same topic is displayed, and after the phrase bye ('пока' in my code), the program ends and the bot says goodbye '''

import telebot
import random
from telebot import types
bot = telebot.TeleBot('5353020563:AAEUX75m7MPN8ixcjaEZnCUvCYHdOnn8FIc')
counter_mistakes=0
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("✖Умножение")
    btn2 = types.KeyboardButton("➕Сложение")
    btn3 = types.KeyboardButton("➖Вычитание")
    markup.add(btn1, btn2,btn3,)
    bot.send_message(message.chat.id, text="Привет!Я помогу тебе потренировать устный счёт и в столбик!Выбери режим".format(message.from_user), reply_markup=markup)
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if 'Умножение' in message.text:
        global z
        a=random.randint(0,11)
        b=random.randint(0,11)
        z=a*b
        msg=bot.send_message(message.chat.id,str(a)+"x"+str(b)+"=")
        bot.register_next_step_handler(msg, answ1)
    elif 'Сложение' in message.text:

        a=random.randint(0,101)
        b=random.randint(0,101)
        z=a+b
        msg=bot.send_message(message.chat.id,str(a)+"+"+str(b)+"=")
        bot.register_next_step_handler(msg, answ1)
    elif 'Вычитание' in message.text:

        a=random.randint(0,101)
        b=random.randint(0,101)
        z=a-b
        msg=bot.send_message(message.chat.id,str(a)+"-"+str(b)+"=")
        bot.register_next_step_handler(msg, answ1)

    elif 'Пока' or 'пока' in message.text:
        bot.send_message(message.chat.id, 'До скорой встречи! Количество ошибок за сессию: '+ str(counter_mistakes))
def answ1(message):
    global counter_mistakes
    if message.text == str(z):
        msg=bot.send_message(message.chat.id, 'Молодец!Ответ правильный,выбери тему следующего примера:')
        bot.register_next_step_handler(msg, get_text_messages)
    elif message.text != str(z):
        msg=bot.send_message(message.chat.id, 'Вот незадача!Неправильно(Попробуй ещё разок!')
        counter_mistakes+=1
        bot.register_next_step_handler(msg,answ1 )

bot.polling(none_stop=True, interval=0)

'''

0 Answers
Related