@dmitriy8720

Удалить запрещённое слово, но ошибка, как исправить?

Подскажите, как удалить запрещённое слово, по фото и видео.
bad_words = ['запрещённоеслово', 'запрещённоеслово2']


@dp.message_handler(content_types=['text', 'photo', 'video'])
async def message_bad_words(message: types.Message):
    for f in range(0, len(bad_words)):
         if bad_words[f] in message.text.lower() and message.photo and message.video:	 
            await bot.delete_message(message.chat.id, message.message_id)
            break


Выскакивает ошибка AttributeError: 'NoneType' object has no attribute 'lower' ругается на эту строку
if bad_words[f] in message.text.lower() and message.photo and message.video:


А если пишу так
if bad_words[f] in message.text.lower():

все работает, но только, с текстовые сообщениями, а как прописать, чтобы если в подписки к фото и видео, написано запрещённое слово, чтобы удаляло фото, видео с текстом.
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 1
erge
@erge
Примус починяю
как-то так:

if (message.text  is not None and bad_words[f] in message.text.lower()  or
    message.photo is not None and bad_words[f] in message.caption.lower() or
    message.video is not None and bad_words[f] in message.caption.lower()):
    await bot.delete_message(message.chat.id, message.message_id)
    break


UPDATE:
Поправил ответ в соответствии с комментарием o5a
Ответ написан
Ваш ответ на вопрос

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

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