import telebot
# Инициализация бота с вашим токеном
TOKEN = 'YOUR_BOT_TOKEN_HERE'
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Привет! Я калькулятор-бот. Введите выражение вида: число оператор число (например, 2 + 2)")
@bot.message_handler(func=lambda message: True)
def calculate(message):
try:
# Предположим, что вы разбиваете сообщение на части
parts = message.text.split()
if len(parts) != 3:
bot.reply_to(message, "Пожалуйста, введите выражение в формате: число оператор число")
return
num1, operator, num2 = parts
num1 = float(num1)
num2 = float(num2)
if operator == '/':
if num2 == 0:
# Отправляем мем-изображение вместо текстовой ошибки
meme_url = 'https://i.imgur.com/your_meme_image.jpg' # Замените на URL вашего мема
bot.send_photo(message.chat.id, meme_url, caption="Деление на ноль невозможно. Вот вам мем!")
return
result = num1 / num2
elif operator == '+':
result = num1 + num2
elif operator == '-':
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.polling()
Когда написал, появилась идея вставить пасхалку вместе с ошибкой, только немогу понять, как.
Строка из условия:
elif operator == '/':
if num2 == 0:
bot.reply_to(message, "Деление на ноль невозможно.") (тут хочется поставить код с пасхалкой, чтобы вместо ошибки вылезло мем фото)
return
result = num1 / num2