@nshapovalov2

Как удалить комментарии под постами на канале?

Приветствую. Пишу бота для модерации канала. Он должен удалять комментарии с матным содержимым, для этого я написал код:
@channel_router.message()
async def send_rules(message: Message, bot: Bot):
    triggers = set(await read_profanity())
    for word in message.text.lower().strip().split():
        parsed_word = morph.parse(word)[0]
        normal_form = parsed_word.normal_form

        for trigger in triggers:
            if trigger in normal_form:
                await message.delete()

    await message.delete()
    await bot.send_message(chat_id=bot_config.CHAT_ID,
                           text=f'Пользователь {message.from_user.first_name} '
                                f'написал(а):\n<blockquote>{message.text}</blockquote>')


Он лишь части решает проблему: если писать непосредственно в комментариях под постами, то маты никуда не деваются, но если писать их в привязанном чате, то они удаляются, как и положено.
Могут возникнуть вопросы по поводу этого фрагмента:
await message.delete()
    await bot.send_message(chat_id=bot_config.CHAT_ID,
                           text=f'Пользователь {message.from_user.first_name} '
                                f'написал(а):\n<blockquote>{message.text}</blockquote>')

Это на случай, если мата нет, бот тогда должен просто удалить комментарий пользователя под постом и переслать его в те же комментарии под постом, но уже в виде цитаты.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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