Как собрать Telegram-бот обеспечения круглосуточной ситуационной осведомленности с нуля

от автора

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

(Всё упоминаемое программное обеспечение в статье не является рекламой, а описывается исключтельно потому, что мы на практике успешно его применяем).

Что именно мы будем создавать

Рисунок 1

Рисунок 1

Бот, которого мы будем разрабатывать — это не «искусственный редактор», который полностью заменяет человека. Это рабочий помощник, помогающий автоматизировать рутину, такую как проверка источников, поиск новых, сортировку, подготовку черновых карточек и ведение записей. Пользователь остается главным звеном: он проверяет факты, формулировки, дату, первоисточник и принимает решение о публикации.

Структурная схема нашего проекта выглядит следующим образом: источники → бот → БЛМ → канал проверки → публикация → архив. Источниками могут быть официальные сайты, новостные ленты, RSS, PDF-документы, Telegram-каналы и вручную добавленные URL.

Для справки:
URL — это адрес страницы в интернете;
PDF — документ в фиксированном формате, который часто используют ведомства, международные организации и исследовательские центры.

Бот должен будет регулярно обращаться к этим источникам и проверять, появилось ли что-то новое, что соответствует установленным нами требованиям. Затем он передает найденный текст в большую языковую модель (далее — БЛМ).

БЛМ — это система, если говорить совсем простыми словами и не углубляться в технические подробности, которая читает текст, выделяет главное и помогает составить краткую карточку. Важно понимать, что БЛМ не является источником истины в последней инстанции. Она помогает формулировать, но не гарантирует фактологическую точность. Поэтому следующим этапом является канал проверки, где человек одобряет или отклоняет сформированные карточки.

Рисунок 2

Рисунок 2

Важным моментом, который нельзя упускать, является разрешение путаницы с терминологией. Поэтому на втором рисунке я добавил словарь с основными понятиями, которые необходимо понимать. Так, например, API — это программный интерфейс, то есть способ, с помощью которого бот обращается к внешнему сервису. То есть когда бот отправляет текст в БЛМ и просит подготовить краткую выжимку, он делает это через API. А VPN — это способ организации защищенного соединения через другой сервер. В нашем случае его применение необходимо, когда необходимо получить доступ к сервису, если он не доступен напрямую. Токен Telegram-бота — это ключ управления ботом. Его нельзя публиковать, пересылать и хранить в открытом документе, чтобы не потерять контроль над ботом.

Минимальный набор программного обеспечения

Рисунок 3

Рисунок 3

Для первого рабочего варианта, как в нашем случае, не нужен сложный программный контур. Минимального набора будет достаточно. Нам понадобится следующее:

  • Telegram — для взаимодействия с самим бота, каналом проверки и каналом публикации;

  • Python — язык программирования, на котором будут писаться функции для работы бота;

  • Редактор текста для файла настроек. В роли такого редактора можно использовать простой инструмент вроде «Блокнот» в Windows.

    Скрытый текст

    Остальное ПО указано на третьем рисунке

Также нужен доступ к БЛМ. В своей работе мы используем GPT от OpenAI. Но важно отметить, что при работе из России доступ к данной БЛМ требует VPN. В качестве последнего мы применяем Amnezia VPN. А как запасной вариант БЛМ предлагаем использоваться китайскую БЛМ DeepSeek, которая работает из России через любого Интернет-провайдера.

Нельзя забывать и про аппаратное обеспечение — сервер или постоянно включенный компьютер. Бот не будет работать круглосуточно, если он запущен только на ноутбуке, который вечером могут выключить. Для тестирования прототипа подойдет и домашний компьютер, но для устойчивого круглосуточного режима лучше использовать выделенный сервер.

Доступ из России и роль VPN

Рисунок 4

Рисунок 4

Важно не превращать VPN в магический термин. VPN — это вариант подключения к сервису, который может не открываться напрямую из-за каких-либо ограничений, например региональных. Он нужен для доступа к внешним сервисам, прежде всего к GPT.

Установить VPN-сервис несложно. Сначала необходимо открыть официальный сайт Amnezia, скачать приложение для своей системы Windows, установить его, добавить подключение и включить VPN.

Настройка Telegram

Рисунок 5

Рисунок 5

Дальше необходимо произвести настройки в Telegram. Для этого необходимо выполнить следующие действия:

  • Открыть Telegram;

  • Найти @BOTFATHER;

  • Вести команду /newbot;

  • Задать имя бота и получает токен.

    Токен — это ключ от бота. Если его увидит посторонний, он сможет управлять ботом. Поэтому токен сохраняют в секретный файл (обычно в .env).

Затем необходимо создать два канала. Первый — канал проверки. Туда бот будет отправлть карточки до публикации. Второй — канал публикации. Туда будут попадать уже только одобренные материалы. Очень важный момент — бота нужно добавить в список администраторов в оба канала, иначе он не сможет отправлять сообщения. После этого надо получить ID каналов — технические идентификаторы, по которым бот поймет, куда именно направлять карточки.

На этом этапе желательно сразу проверить возможность отправки тестового сообщения. Если оно не приходит, проблема обычно находится в одном из четырех мест: неверный токен, бот не добавлен в администраторы, указан неправильный ID канала или бот вообще не запущен.

Подключение большой лингвистической модели

Рисунок 6

Рисунок 6

БЛМ в нашей работе нужна для первичной обработки текста:

  • выделение главного;

  • уборка второстепеннго;

  • предложение заголовка;

  • подготовка короткую карточки;

  • сохранение ссылкиу на источник.

Но БЛМ не заменяет редактора. Она может ошибиться в дате, неверно понять контекст, перепутать организацию или слишком уверенно сформулировать недоказанный вывод.

Поэтому настройка БЛМ должна включать не только ключ API, но и правила использования или промпты. Для основного варианта предполагается:

  • использовать Amnezia VPN;

  • открыть кабинет OpenAI;

  • создать API-ключ;

  • сохранить его в секретный файл;

  • выбрать модель;

  • установить дневной лимит расходов;

  • сделать тестовый запрос.

Скрытый текст

Лимит расходов важен: бот, который работает круглосуточно, может неожиданно обработать слишком много материалов и растратить все денежные средства

Запасной вариант — DeepSeek. Его можно прописать как резервную БЛМ. Если основной сервис недоступен или слишком дорог, бот должен будет переключиться на запасной вариант.

Источники и правила отбора

Рисунок 7

Рисунок 7

Самой главной ошибкой при запуске новостного бота — дать ему слишком много источников без правил отбора. Тогда он начинает тащить в канал все подряд: повторы, старые новости, материалы без первоисточника и нерелевантные темы. Поэтому важно сказать о фильтрации.

Бот должен проверять дату публикации, регион, тему, дубликаты, наличие ссылки на первоисточник, наличие изображения, соответствие правилам канала и запрет старых материалов вне заданного периода. Например, если канал работает по международной повестке, региональная классификация может включать Азию или Африку.

Отдельно нужно вести список уже просмотренных ссылок. Без такого списка бот будет возвращаться к одному и тому же материалу, делая карточки с одинаковым материалом. Для архива нужно хранить не только текст карточки, но и первичную ссылку, дату обработки, статус решения (публикация/непубликация) и причину отклонения, если материал не прошел модерацию.

Круглосуточная работа

Рисунок 8

Рисунок 8

Круглосуточная работа — это не просто «запустил и забыл». Важно отслеживать функционирование бота. Он должен запускаться по расписанию, собирать новости, отправлять карточки в канал проверки, принимать решения по кнопкам, публиковать одобренное, вести журнал ошибок и хранить список просмотренных ссылок.

Журнал ошибок — по нашему опыту, можно отнести к одному из самых недооцененных элементов. Он помагает понять проблемы функционирования: источник не открылся, API вернул ошибку, VPN не работает, баланс закончился, канал недоступен, кнопки не обрабатываются, файл настроек поврежден.

Для устойчивой работы нужны регулярные проверки. Расходы на БЛМ стоит смотреть хотя бы раз в неделю, чтобы в один момент средства не кончились и бот прекратил работу. Резервные копии настроек нужно делать после каждого значимого изменения. Источники полезно переодчески пересматривать: сайты перестают обновляться и так далее. Также стоит обновлять правила формулировок: какие заголовки допустимы, как писать даты, как оформлять ссылки, какие темы требуют обязательной ручной проверки (это все зависит от ваших требований).

Итог первой части («Я пиарюсь»)

Создание Telegram-бота — это не оно быстрое действие, а последовательная сборка (при этом с учетом современных технологий это не мегасложный процесс). Это только вводная часть нашего цикла обучающих статей. Больше интересного материала, затрагивающего не только технологии, но и военно-политическую обстановку в мире, вы можете найти в нашем канале Global Insight Plus на площадках Telegram и MAX:
https://t.me/Global_Insight_official_all
https://max.ru/join/y1zlWo_3Gbj1LhnMCpOErlv6qXfDO7vNuUZgpTTdYls

ссылка на оригинал статьи https://habr.com/ru/articles/1051598/