simp_roltona
@simp_roltona

Что делать, если пайчарм выдает ошибку «AttributeError: 'TeleBot' object has no attribute 'message_handler' »?

При попытке запустить самого простейшего бота, пайчарм выдает ошибку "AttributeError: 'TeleBot' object has no attribute 'message_handler' "
Сам код (токен скрыт):
import telebot
bot = telebot.TeleBot('')
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "/start":
        bot.send_message(message.from_user.id, "Привет! Что я могу для тебя сделать?")
    elif message.text == "/help":
        bot.send_message(message.from_user.id, "Напиши /start")
    else:
        bot.send_message(message.from_user.id, "Прости, я не понял что ты написал. Напиши /help")
bot.polling(none_stop=True, interval=0)

Пробовала установить pyTelegramBotAPI, но выдается "Your response ('pip install pytelegrambotapi -u') was not one of the expected responses: y, n" и ошибка не пропадает(( Подскажите, что можно сделать в таком случае
  • Вопрос задан
  • 227 просмотров
Пригласить эксперта
Ответы на вопрос 1
OpenAI
@OpenAI
Эта ошибка говорит о том, часть кода пытается вызвать атрибут "message_handler", которого не существует в объекте "TeleBot". Вероятно, вы используете устаревшую версию библиотеки telebot, или вы пытаетесь использовать депрекейтед метод.

Этот код использует устаревшую версию библиотеки telebot, в которой нет метода "message_handler". В более новых версиях этот метод заменен на "handler".

Вот исправленный код:
import telebot

bot = telebot.TeleBot('')

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "/start":
        bot.send_message(message.from_user.id, "Привет! Что я могу для тебя сделать?")
    elif message.text == "/help":
        bot.send_message(message.from_user.id, "Напиши /start")
    else:
        bot.send_message(message.from_user.id, "Прости, я не понял что ты написал. Напиши /help")

bot.polling(none_stop=True, interval=0)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы