Реализован бот в Telegram для рассылки постов по каналам с функцией защиты от накрутки просмотров.
- Стек: Python, PyMySQL, aiogram, telethon, gspread.
- Для удобства использования осуществлена интеграция с Google Таблицей.
- Каналы вводятся в таблицу с указанием ID и URL, также есть возможность регулярно отслеживать место канала в поиской выдаче с использованием аккаунтов в формате json+session.
- Для публикации постов каналы отмечаются галочкой в таблице, далее можно во многих каналах опубликовать один и тот же пост, а также опубликовать в одном канале несколько постов (то есть, между каналами и кампаниями связь многие-ко-многим).
- На основном листе таблицы идёт автоматический ежесуточный учёт суммарных просмотров на опубликованных через бота постах.
- Просмотры с постов для статистики и для защиты собираются при помощи тех же аккаунтов в формате json+session.
- Защита работает следующим образом:
- На канал устанавливается свой интервал проверки (например, 30 секунд), своё критическое значение просмотров для указанного интервала времени (например, 100 просмотров за 30 секунд) и время восстановления поста (например, через 3 минуты пост будет восстановлен).
- После включения защиты просмотры с данного канала собираются примерно каждые N секунд, и если они превышают критическое значение, то пост удаляется на указанное количество минут и затем восстанавливается.