Задать вопрос
@habracadabrrra

Как можно решить ошибку?

столкнулась с ошибкой. когда пишу !погладить без упоминания, в консоли пишет следующее:
OEse1Dy.png

битый час голову ломаю, никак не могу решить, помогите кто может :)

code:
import telebot
from telebot import apihelper

token = '' #скрыла

bot = telebot.TeleBot(token)

@bot.message_handler(content_types=['text'])
def send_text(message):
    if message.text.lower() == '!погладить':
        a = message.from_user.username
        b = str(message.reply_to_message.from_user.username)
        bot.send_message(message.chat.id, ' @' + a + ' погладил(а) @' + b)

bot.polling()


заранее спасибо
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
SoreMix
@SoreMix Куратор тега Python
yellow
Проверять на None

if message.reply_to_message:
    bot.send_message(message.chat.id, ' @' + a + ' погладил(а) @' + message.reply_to_message.from_user.username)
Ответ написан
Vindicar
@Vindicar
RTFM!
Я же тебе уже говорил: если нет ответа на сообщение, то message.reply_to_message будет иметь значение None, и взять у него атрибут from_user не получится (о чём и говорит ошибка).
Проверяй, что message.reply_to_message не None, если это не так, то думай - или подставляй какое-то другое значение, или просто сообщай об ошибке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы