Устал удалять спам-комментарии вручную, пора задуматься над тем, как это автоматизировать.
Решение в лоб
Задача кажется простой, ведь в API телеграма есть флаг is_bot, про который написано: True, if user is a bot. Можно было бы просто удалять сообщения на основе этого флага, или даже банить.
Изначально я так и сделал, и чуть не забанил сам себя — оказалось, что если написать комментарий от имени канала, то ты тоже становишься
is_bot: true))Другим решением могло бы быть создание какого-нибудь словаря из стоп-фраз и проверка вхождения подстроки, но я решил сразу перейти к ИИ.
Решение с ИИ
Буду использовать GigaChat-2-Pro (потому что от него у меня ещё остались токены).
В GigaChat я отправляю текст поста, текст комментария и инфо об авторе, а он возвращает мне оценку вероятности спама. В процентах.
Сейчас он плохо распознаёт комментарии от спам-ботов, которые напрямую ничего не рекламируют, над этим я ещё буду работать.
Тестируем
Бот будет оценивать каждый комментарий на предмет спама и будет ставить реакции на комментарии в зависимости от его оценки.
Градация следующая:
0% — ❤️🔥;
1 - 25% — ❤️;
26 - 50% — 👍;
51 - 75% — 🤔;
75 - 99% — 😡;
100% — 🤬;
В случае ошибок бот будет ставить "🤷🏼♂️"
Отредактировано: тестирование закончено, всем большое спасибо))