В общем, я новичок в программировании, но кое-что уже знаю. У меня появилась потребность написать бота в тг для помощи в экзамене по предмету "Управление качеством". Для этого я использовал ЯП Python и метод Telebot. После 2 дней чтения документации и просмотра разного рода видео на эту тему (где все почему-то делают эхо бота???), я столкнулся с проблемой, что не понимаю как брать данные из сообщения пользователя.
import telebot
bot = telebot.TeleBot('')
@bot.message_handler(commands=["start"])
def start(message):
bot.send_message(message.chat.id, 'Привет, я помогу тебе с заданием!, пиши /help')
@bot.message_handler(commands=["help"])
def help(message):
bot.send_message(message.chat.id, 'Отправь какой способ решения у тебя: 1 - унитаризация, 2 - нормализация')
@bot.message_handler()
def text(message):
if message.text == "1" or "unitaryzacja" or "унитаризация" or "Унитаризация" or "Unitaryzacja":
bot.send_message(message.chat.id, 'Введи первое число транспорта А')
def first_number(message):
#a1 = 0
if a1 == int(message.text):
bot.send_message(message.chat.id, 'Введи первое число транспорта B')
else:
bot.send_message(message.chat.id, 'Введи цифрами')
def second_number(message):
#b1 = 0
if b1 == int(message.text):
bot.send_message(message.chat.id, 'Введи первое число транспорта C')
else:
bot.send_message(message.chat.id, 'Введи цифрами')
def third_number(message):
#c1 = 0
if c1 == int(message.text):
bot.send_message(message.chat.id, 'Первая характеристика:\n1 - stymulanta\n2 - destymulanta\n3 - nominanta')
def proverka(message):
if message.text == "1" or "stymulanta" or "Stymulanta":
maxx=max(a1,b1,c1)
minn=min(a1,b1,c1)
x1=(a1-minn)/(maxx-minn)
x2=(b1-minn)/(maxx-minn)
x3=(c1-minn)/(maxx-minn)
bot.send_message(message.chat.id, "x1="+str(x1)+"\n"+"x2="+str(x2)+"\n"+"x3="+str(x3)+"\n")
elif message.text == "2" or "destymulanta" or "Destymulanta":
maxx=max(a1,b1,c1)
minn=min(a1,b1,c1)
x1=(maxx-a1)/(maxx-minn)
x2=(maxx-b1)/(maxx-minn)
x3=(maxx-c1)/(maxx-minn)
bot.send_message(message.chat.id, "x1="+str(x1)+"\n"+"x2="+str(x2)+"\n"+"x3="+str(x3)+"\n")
elif message.text == "3" or "nominanta" or "Nominanta":
bot.send_message(message.chat.id, 'Введи идеальное значение Nominanty')
def nominanta(message):
nominan=0
if nominan == int(message.text):
maxx=max(a1,b1,c1,nominan)
minn=min(a1,b1,c1,nominan)
if nominan>a1:
x1=(a1-minn)/(nominan-minn)
else:
x1=(maxx-a1)/(maxx-nominan)
if nominan>b1:
x2=(b1-minn)/(nominan-minn)
else:
x2=(maxx-b1)/(maxx-nominan)
if nominan>c1:
x3=(c1-minn)/(nominan-minn)
else:
x3=(maxx-c1)/(maxx-nominan)
bot.send_message(message.chat.id, "x1="+str(x1)+"\n"+"x2="+str(x2)+"\n"+"x3="+str(x3)+"\n")
else:
bot.send_message(message.chat.id, 'Введи цифрами')
bot.polling(none_stop=True)
С таким кодом, у меня бот не двигается дальше 14 строчки кода. То есть он присылает смс "Введите число Транспорта А", я ввожу, но он снова присылает "Введите число Транспорта А". Как мне перейти к следующему def?
P.S. код скорее всего ужасный, заранее извиняюсь +_+