import telebot
import math
TOKEN = 'ВАШ_ТОКЕН_ЗДЕСЬ'
bot = telebot.TeleBot(TOKEN)
class User:
def __init__(self, id):
self.id = id
self.nickname = ""
self.email = ""
self.books = []
self.selected_lst = 0
self.status = 0
users_list = {}
@bot.message_handler(commands=['start'])
def start(message):
print("Бот запущен")
bot.reply_to(message, 'Здравствуйте! Это телеграм-бот-калькулятор. Введите выражение (например: 2 + 2) или уравнение (например: q 1 -3 2).')
def distr(a, b, c):
D = b**2 - 4*a*c
if D > 0:
x1 = (-b + math.sqrt(D)) / (2*a)
x2 = (-b - math.sqrt(D)) / (2*a)
return f"Корни уравнения: x1 = {x1}, x2 = {x2}"
elif D == 0:
x = -b / (2*a)
return f"Уравнение имеет один корень: x = {x}"
else:
return "Корней нет"
@bot.message_handler(content_types=['text'])
def calculator(message):
mes = message.text.strip().split()
# Обработка квадратного уравнения
if mes[0].lower() == 'q':
if len(mes) != 4:
bot.reply_to(message, "Для решения квадратного уравнения введите: q a b c")
return
try:
a = float(mes[1])
b = float(mes[2])
c = float(mes[3])
result = distr(a, b, c)
bot.reply_to(message, result)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректные числа.")
except Exception as e:
bot.reply_to(message, f"Произошла ошибка: {e}")
return
# Обработка простых арифметических выражений
if len(mes) != 3:
bot.reply_to(message, "Пожалуйста, введите выражение в формате: число оператор число (например: 2 + 2)")
return
num1, operator, num2 = mes
try:
num1 = float(num1)
num2 = float(num2)
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
if num2 == 0:
bot.reply_to(message, "Деление на ноль невозможно.")
return
result = num1 / num2
elif operator == '**':
result = num1 ** num2
else:
bot.reply_to(message, "Неизвестный оператор. Используйте +, -, *, / или **.")
return
bot.reply_to(message, f"Результат: {result}")
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректные числа.")
except Exception as e:
bot.reply_to(message, f"Произошла ошибка: {e}")
bot.infinity_polling()
Но проблема в том, что тг бот читает и не отвечает, что делать? Библиотека телебот скачана.