Skip to content

KEV0143/Telegram-Software-SMM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram_Software_SMM

⚙️ Программный комплекс для Telegram: Централизованная SMM-платформа,
рассылка сообщений по критериям, валидация пользователей, автоматизация чатов.


Разработчики проекта:

  • Брагуца Евгений (jmksjm) - GitHub
  • Климкин Егор (KevY5) - GitHub
  • Снигаренко Антон (AntonTriceps) - GitHub

Связь для уточнения деталей по проекту: Telegram


Цель проекта

Цель проекта — предоставить профессионалам комплексное решение, которое превратит Telegram из простого мессенджера в полноценную SMM-машину. Продукт позволит пользователям:

  • Централизовать все операции по управлению каналами и чатами.
  • Автоматизировать до 90% рутинных задач, от рассылок до модерации.
  • Повысить точность маркетинговых кампаний за счет глубокой сегментации аудитории.
  • Увеличить ROI от деятельности в Telegram благодаря умным инструментам.

Проблема проекта, которая решается

Работа в Telegram для бизнеса и SMM часто превращается в хаос. Маркетологам и администраторам приходится вручную управлять десятками чатов, использовать различные боты и скрипты, тратить часы на фильтрацию аудитории и рассылку сообщений. Это неэффективно, трудозатратно и плохо масштабируется.

Ключевые преимущества проекта

В отличие от других скриптов и сервисов, проект предлагает готовые решения для SMM-специалистов:

  1. Единый центр управления: предоставляет централизованную панель, где все ваши каналы, чаты, рассылки и аналитика собраны в одном месте. Больше не нужно переключаться между десятками окон и сервисов.

  2. Гибкая система рассылок: комплекс позволяет организовывать сложные, персонализированные рассылки по десяткам критериев (активность, дата вступления, роль в чате и т.д.), что многократно повышает их эффективность.

  3. Инструменты для создания качественной аудитории: встроенный валидатор пользователей и гибкие фильтры позволяют автоматически отсеивать ботов и неактивные аккаунты. Вы работаете только с живой и целевой аудиторией.

  4. Полная автоматизация рутины: настройте автоматические приветствия, ответы на типовые вопросы, модерацию спама и правила для участников чата. Освободите свое время для решения стратегических, а не рутинных задач.


Целевая аудитория (Кому пригодится)

Программный комплекс создан для всех, кто хочет использовать Telegram на 100% профессионально и эффективно:

  • SMM-менеджеры и маркетологи: для проведения рекламных кампаний, таргетированных рассылок и анализа аудитории.
  • Владельцы бизнеса и предприниматели: для автоматизации общения с клиентами и продвижения своих товаров и услуг.
  • Администраторы Telegram-каналов и чатов: для эффективной модерации, повышения вовлеченности и автоматизации рутинных задач.
  • HR-специалисты и рекрутеры: для поиска кандидатов и автоматизированной коммуникации с ними.
  • Комьюнити-менеджеры: для построения живых и активных сообществ, автоматизируя модерацию и вовлекая участников.
  • Арбитражники трафика: для работы с большими объемами аудитории, ее фильтрации и монетизации.

🛠️ Настройка и запуск проекта

Для успешного запуска проекта следуйте этим шагам.

1. Создание сессии Telegram

Для работы приложения требуется как минимум один файл сессии Telegram, который будет эмулировать работу вашего аккаунта.

1.1. Настройка .env

Прежде всего, необходимо указать данные вашего Telegram-приложения.

  • Откройте файл .env в корне проекта.
  • Укажите ваши API_ID и API_HASH.

Где взять API ID и API HASH? Их можно получить на официальном сайте Telegram: my.telegram.org.

image

1.2. Генерация файла сессии

Теперь запустите скрипт для создания файла сессии с помощью фреймворка Pyrogram.

  • Выполните в терминале команду:
    python CreateSession.py
  • В консоли вам будет предложено ввести номер телефона, код подтверждения из Telegram и, если установлен, пароль двухфакторной аутентификации (2FA).

image

После успешной авторизации в корневой папке проекта будет создана директория sessions, в которую будет помещен файл вашей сессии (например, KevTest.session).

2. Настройка прокси

Если вы планируете использовать прокси для сессий, их необходимо добавить в файл 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.

3. Запуск основного приложения

После выполнения всех предыдущих шагов вы готовы запустить единый центр управления.

  • Запустите главный скрипт:
    python main.py
  • В консоли вы увидите отладочную информацию о запуске сервера.

image

  • После этого веб-интерфейс будет доступен в вашем браузере по адресу: http://127.0.0.1:8000

image

4. Конвертация сессий из Pyrogram в Telethon

Для работы с другими модулями программного комплекса необходимо преобразовать сессии, созданные с помощью фреймворка Pyrogram, в формат, совместимый с фреймворком Telethon.

Для этого используется скрипт Convert.py. Он автоматически анализирует все сессионные файлы из папки sessions (формат Pyrogram) и конвертирует их в формат Telethon, после чего перемещает готовые сессии в соответствующие папки:

  • sessions_for_search
  • sessions_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),
}

Пример выполнения Convert.py


5. Валидация пользователей Telegram

Цель: Проверка регистрации пользователя в мессенджере 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"
]

Версии Telegram-клиента:

APP_VERSIONS = [
    "10.5.0", "10.4.1", "10.3.2", "4.14.8", "4.13.0", "Telegram Desktop 4.15.1"
]

Результат работы модуля

Результат выполнения программы представлен на изображении ниже:

Результат работы Search.py

6. Рассылка сообщений по критериям

Исходная база данных содержит следующие столбцы:

ФИО | ИНН | Вид деятельности | Объем выручки за год | Ник в ТГ | Номер телефона | Запущена проверка на username | Электронная почта | Первое сообщение | Обработано сессией | Статус сообщения | Дата отправки | Отправленное сообщение

image

Основой для работы модуля служит столбец "Вид деятельности" в базе данных. Алгоритм выглядит следующим образом:

  1. Анализ данных: Система считывает значение из столбца "Вид деятельности" для каждой строки в базе.
  2. Подбор сообщения: Модуль обращается к файлу messages.json, где хранятся шаблоны сообщений.
    • Если в файле найден ключ, точно соответствующий виду деятельности (например, "Кафе"), используется связанный с ним текст.
    • Если точное соответствие не найдено, применяется универсальное сообщение, которое хранится под ключом __default__.

image

Результат работы модуля

Запустить рассылку первых сообщений Этот режим предназначен для инициации первого контакта с большой группой пользователей. Система последовательно обрабатывает строки, для которых еще не было отправлено сообщение, подбирает релевантный текст и производит отправку.

image

Демонстрация отображения базы данных после работы модуля, изменились столбцы:

Первое сообщение, Обработано сессией, Статус сообщения, Дата отправки, Отправленное сообщение

image

Отправить сообщение только одному пользователю

Этот режим предназначен для целевой коммуникации. Он позволяет отправить сообщение конкретному пользователю, выбрав его из списка или указав контактные данные вручную. Функция удобна для повторной связи, отправки персонализированных предложений и ответов на запросы.

image

7. Инструменты для управления сессиями

Вспомогательный модуль для проверки и поддержания работоспособности сессий.

Основное меню инструмента

image

1. Активация сессий Функция для "прогрева" сессий путем отправки сообщения в "Избранное" (Saved Messages), что снижает риск блокировки при дальнейшей работе.

image

2. Проверка на спам-блок Автоматизированная проверка статуса аккаунта на наличие ограничений через официального @SpamBot.

image

3. Проверка статуса аккаунта Определение, является ли аккаунт активным или был удален (заблокирован) платформой Telegram.

image

About

Универсальная SMM-платформа для Telegram: сегментированные рассылки, интеллектуальная проверка пользователей, автоматизация рутины в чатах и централизованное управление коммуникациями.

Resources

License

Stars

Watchers

Forks

Contributors