Клиент поставил задачу создать инструмент, который позволит автоматически поддерживать активность в комментариях под постами в нескольких Telegram-каналах без постоянного участия человека (автоматический комментниг). Основная цель — имитировать поведение реального пользователя: боты должны анализировать контекст обсуждений, писать уместные и естественные комментарии, соблюдать расписание и случайные задержки, чтобы не вызывать подозрений со стороны алгоритмов Telegram, администраторов и подписчиков.
Требовалось обеспечить:
поддержку нескольких ботов, каждый со своими учетными данными Telegram и API-ключами DeepSeek;
гибкую настройку каналов: время посещения, глубина анализа, режим ответа (на комментарий или просто к посту);
фильтрацию нежелательного контента — рекламных и продающих постов, а также сообщений без текста (видео, опросы);
построение цепочек комментариев и выбор оптимальной для ответа, с учётом наличия собственных сообщений;
случайный дрейф времени посещения каналов и задержку между чтением поста и отправкой комментария (10–60 секунд) для имитации живого человека;
сохранение результатов работы в Google Sheets для дальнейшей аналитики.
Дополнительно клиент хотел, чтобы настройки ботов и каналов хранились в удобном формате и управлялись через графический интерфейс.
Разработано десктопное приложение на C++/Qt Widgets (Windows), интегрированное с Telegram через библиотеку TDLib (tdjson.dll) и с ИИ-сервисом DeepSeek для генерации и анализа текстов.
Ключевые архитектурные решения:
Каждый бот работает в отдельном экземпляре BotWorker, что позволяет параллельно обслуживать несколько аккаунтов с разными настройками.
Для взаимодействия с Telegram создан модуль, инкапсулирующий авторизацию, поиск каналов, получение сообщений и комментариев, отправку ответов.
Реализован планировщик посещений: для каждого канала задаётся список времён, к каждому добавляется случайный дрейф (в пределах настраиваемого интервала), а после срабатывания время помечается как обработанное, чтобы исключить повторные визиты.
Алгоритм анализа поста перед комментированием: пост отправляется в DeepSeek с настраиваемым промптом, который определяет, является ли текст рекламным/продающим; при утвердительном ответе пост пропускается.
Для формирования ответа используется либо одна выбранная по критериям цепочка комментариев, либо все комментарии целиком (в зависимости от режима). Цепочки строятся по replyToMessageId, фильтруются по глубине и наличию собственных сообщений.
Добавлена случайная задержка перед отправкой (10–60 секунд), чтобы имитировать поведение человека.
Реализовано сохранение результатов в Google Sheets: приложение формирует JSON и запускает Python-скрипт, который через Google API записывает данные (дата, канал, пост, цепочка, наш комментарий, ссылка).
Настройки ботов и каналов хранятся в INI-файлах, загружаются и редактируются через графический интерфейс с таблицей каналов и диалоговыми окнами.
В процессе разработки были решены сложные проблемы: корректное определение типа чата (канал/группа), получение сообщения-якоря для комментариев, обработка ответов TDLib (включая таймауты), загрузка имён пользователей, а также интеграция режима Thinking Mode DeepSeek.
Создано готовое приложение, которое успешно автоматизирует процесс комментирования в нескольких Telegram-каналах. Боты работают по заданному расписанию, анализируют контекст, генерируют уместные комментарии с помощью DeepSeek и отправляют их с соблюдением случайных задержек и интервалов.
Система позволяет:
одновременно обслуживать несколько ботов и каналов;
гибко настраивать поведение каждого канала (время, глубина анализа, режим ответа);
автоматически пропускать продающие посты и медиа без текста;
исключать дублирование и “самобеседы” за счёт проверки собственных сообщений;
сохранять полную историю действий в Google Sheets для последующего анализа эффективности.
Проект готов к практическому использованию SMM-специалистами, маркетологами и владельцами Telegram-каналов для повышения вовлечённости аудитории без постоянного ручного участия. Приложение легко расширяется: добавление новых каналов или ботов не требует изменения кода. Благодаря модульной архитектуре возможно подключение других LLM-провайдеров или мессенджеров.