⚙️ Программный комплекс для Telegram: Централизованная SMM-платформа,
рассылка сообщений по критериям, валидация пользователей, автоматизация чатов.
Разработчики проекта:
- Брагуца Евгений (jmksjm) - GitHub
- Климкин Егор (KevY5) - GitHub
- Снигаренко Антон (AntonTriceps) - GitHub
Связь для уточнения деталей по проекту: Telegram
Цель проекта — предоставить профессионалам комплексное решение, которое превратит Telegram из простого мессенджера в полноценную SMM-машину. Продукт позволит пользователям:
- Централизовать все операции по управлению каналами и чатами.
- Автоматизировать до 90% рутинных задач, от рассылок до модерации.
- Повысить точность маркетинговых кампаний за счет глубокой сегментации аудитории.
- Увеличить ROI от деятельности в Telegram благодаря умным инструментам.
Работа в Telegram для бизнеса и SMM часто превращается в хаос. Маркетологам и администраторам приходится вручную управлять десятками чатов, использовать различные боты и скрипты, тратить часы на фильтрацию аудитории и рассылку сообщений. Это неэффективно, трудозатратно и плохо масштабируется.
В отличие от других скриптов и сервисов, проект предлагает готовые решения для SMM-специалистов:
-
Единый центр управления: предоставляет централизованную панель, где все ваши каналы, чаты, рассылки и аналитика собраны в одном месте. Больше не нужно переключаться между десятками окон и сервисов.
-
Гибкая система рассылок: комплекс позволяет организовывать сложные, персонализированные рассылки по десяткам критериев (активность, дата вступления, роль в чате и т.д.), что многократно повышает их эффективность.
-
Инструменты для создания качественной аудитории: встроенный валидатор пользователей и гибкие фильтры позволяют автоматически отсеивать ботов и неактивные аккаунты. Вы работаете только с живой и целевой аудиторией.
-
Полная автоматизация рутины: настройте автоматические приветствия, ответы на типовые вопросы, модерацию спама и правила для участников чата. Освободите свое время для решения стратегических, а не рутинных задач.
Программный комплекс создан для всех, кто хочет использовать Telegram на 100% профессионально и эффективно:
- SMM-менеджеры и маркетологи: для проведения рекламных кампаний, таргетированных рассылок и анализа аудитории.
- Владельцы бизнеса и предприниматели: для автоматизации общения с клиентами и продвижения своих товаров и услуг.
- Администраторы Telegram-каналов и чатов: для эффективной модерации, повышения вовлеченности и автоматизации рутинных задач.
- HR-специалисты и рекрутеры: для поиска кандидатов и автоматизированной коммуникации с ними.
- Комьюнити-менеджеры: для построения живых и активных сообществ, автоматизируя модерацию и вовлекая участников.
- Арбитражники трафика: для работы с большими объемами аудитории, ее фильтрации и монетизации.
Для успешного запуска проекта следуйте этим шагам.
Для работы приложения требуется как минимум один файл сессии Telegram, который будет эмулировать работу вашего аккаунта.
1.1. Настройка .env
Прежде всего, необходимо указать данные вашего Telegram-приложения.
- Откройте файл
.envв корне проекта. - Укажите ваши
API_IDиAPI_HASH.
Где взять API ID и API HASH? Их можно получить на официальном сайте Telegram: my.telegram.org.
1.2. Генерация файла сессии
Теперь запустите скрипт для создания файла сессии с помощью фреймворка Pyrogram.
- Выполните в терминале команду:
python CreateSession.py
- В консоли вам будет предложено ввести номер телефона, код подтверждения из Telegram и, если установлен, пароль двухфакторной аутентификации (2FA).
После успешной авторизации в корневой папке проекта будет создана директория sessions, в которую будет помещен файл вашей сессии (например, KevTest.session).
Если вы планируете использовать прокси для сессий, их необходимо добавить в файл proxy.txt.
-
Каждая строка в файле соответствует одной сессии и должна иметь следующий формат:
имя_сессии:ip:port:login:password -
Где
имя_сессии— это название файла сессии из папкиsessionsбез расширения.session. -
Пример содержимого
proxy.txt:
109.236.82.42:9999:55wi111gav-corp.mobile.res-country-RU-state-531113-city-41117-hold-session-session-61111303010:111KbiwC11YMtX
Важно: Для каждой сессии нобходмо указать прокси в
proxy.txt.
После выполнения всех предыдущих шагов вы готовы запустить единый центр управления.
- Запустите главный скрипт:
python main.py
- В консоли вы увидите отладочную информацию о запуске сервера.
- После этого веб-интерфейс будет доступен в вашем браузере по адресу: http://127.0.0.1:8000
Для работы с другими модулями программного комплекса необходимо преобразовать сессии, созданные с помощью фреймворка Pyrogram, в формат, совместимый с фреймворком Telethon.
Для этого используется скрипт Convert.py. Он автоматически анализирует все сессионные файлы из папки sessions (формат Pyrogram) и конвертирует их в формат Telethon, после чего перемещает готовые сессии в соответствующие папки:
sessions_for_searchsessions_for_sender
Для успешной конвертации требуется указать IP-адреса дата-центров Telegram. Ниже приведён актуальный список серверов:
DEFAULT_DCS_PROD = {
1: ("149.154.175.53", 443),
2: ("149.154.167.51", 443),
3: ("149.154.175.100", 443),
4: ("149.154.167.91", 443),
5: ("91.108.56.130", 443),
}Цель: Проверка регистрации пользователя в мессенджере Telegram по его номеру телефона — даже в случае, если профиль скрыт или ограничено отображение данных.
Для проверки используется модуль Search.py.
Чтобы обеспечить уникальность сессий и минимизировать риск блокировок, реализована подмена User-Agent'ов. Для этого используются следующие параметры:
DEVICE_MODELS = [
"Pixel 7 Pro", "Samsung Galaxy S23 Ultra", "iPhone 15 Pro Max", "Xiaomi 13 Pro",
"OnePlus 11", "Google Pixel Fold", "Samsung Galaxy Z Fold 5", "Motorola Edge+ (2023)",
"Asus ROG Phone 7", "Sony Xperia 1 V", "Desktop Client", "WebK Browser"
]SYSTEM_VERSIONS = [
"Android 14", "Android 13", "iOS 17.2", "iOS 16.7", "Windows 11 SDK 22621",
"macOS Sonoma 14.1", "Linux Kernel 6.6", "Chrome OS 120", "Firefox 121.0"
]APP_VERSIONS = [
"10.5.0", "10.4.1", "10.3.2", "4.14.8", "4.13.0", "Telegram Desktop 4.15.1"
]Результат выполнения программы представлен на изображении ниже:
Исходная база данных содержит следующие столбцы:
ФИО | ИНН | Вид деятельности | Объем выручки за год | Ник в ТГ | Номер телефона | Запущена проверка на username | Электронная почта | Первое сообщение | Обработано сессией | Статус сообщения | Дата отправки | Отправленное сообщение
Основой для работы модуля служит столбец "Вид деятельности" в базе данных. Алгоритм выглядит следующим образом:
- Анализ данных: Система считывает значение из столбца "Вид деятельности" для каждой строки в базе.
- Подбор сообщения: Модуль обращается к файлу
messages.json, где хранятся шаблоны сообщений.- Если в файле найден ключ, точно соответствующий виду деятельности (например, "Кафе"), используется связанный с ним текст.
- Если точное соответствие не найдено, применяется универсальное сообщение, которое хранится под ключом
__default__.
Запустить рассылку первых сообщений Этот режим предназначен для инициации первого контакта с большой группой пользователей. Система последовательно обрабатывает строки, для которых еще не было отправлено сообщение, подбирает релевантный текст и производит отправку.
Демонстрация отображения базы данных после работы модуля, изменились столбцы:
Первое сообщение, Обработано сессией, Статус сообщения, Дата отправки, Отправленное сообщение
Отправить сообщение только одному пользователю
Этот режим предназначен для целевой коммуникации. Он позволяет отправить сообщение конкретному пользователю, выбрав его из списка или указав контактные данные вручную. Функция удобна для повторной связи, отправки персонализированных предложений и ответов на запросы.
Вспомогательный модуль для проверки и поддержания работоспособности сессий.
Основное меню инструмента
1. Активация сессий
Функция для "прогрева" сессий путем отправки сообщения в "Избранное" (Saved Messages), что снижает риск блокировки при дальнейшей работе.
2. Проверка на спам-блок
Автоматизированная проверка статуса аккаунта на наличие ограничений через официального @SpamBot.
3. Проверка статуса аккаунта Определение, является ли аккаунт активным или был удален (заблокирован) платформой Telegram.














