Перейти к основному содержимому

Новости из Discord и Telegram в лаунчере

Данное руководство описывает процесс настройки интеграции, позволяющей отображать новости из вашего Discord-сервера или Telegram-канала в лаунчере GML.


1. Подготовка окружения

Все действия выполняются на вашем VPS-сервере (VDS), где будет размещаться сервис интеграции.

Подключитесь к серверу по SSH и выполните клонирование репозитория:

git clone https://github.com/Niobrix/gml-custom-news.git

После загрузки перейдите в директорию проекта:

cd gml-custom-news

2. Настройка переменных окружения

Откройте файл .env.example любым удобным способом — через SFTP (например, в Notepad++) или прямо в терминале (через nano, vim, micro и т.п.).

Заполните следующие переменные:

ПеременнаяОписание
DISCORD_BOT_TOKENТокен Discord-бота, который имеет доступ к каналу с новостями. Добавьте бота на сервер с правами администратора. Документация Discord Developers.
CHANNEL_IDID канала, из которого будут считываться сообщения. Как получить ID канала.
PORTПорт, на котором будет запущено приложение интеграции. По умолчанию используется 3000.

⚠️ Остальные переменные изменять не рекомендуется, если вы не уверены в их назначении.

После внесения изменений сохраните файл под именем .env (удалите суффикс .example).


3. Запуск приложения через Docker

В той же директории выполните команду:

docker compose up -d --build

После завершения сборки приложение будет доступно по адресу:

http://{IP_сервера}:{PORT}

4. Настройка проксирования и HTTPS

Для корректной работы рекомендуется настроить домен и SSL-сертификат.

  1. Настройте поддомен, который будет проксировать запросы к вашему приложению.

  2. Установите Nginx и Certbot:

    sudo apt install -y nginx certbot python3-certbot-nginx
  3. Создайте конфигурацию Nginx по примеру: 👉 Пример конфига Nginx (Gist)

  4. Выполните команду для получения SSL-сертификата:

    certbot --nginx

После успешной настройки приложение будет доступно по защищённому адресу:

https://{ваш_домен}/discord/messages

5. Подключение интеграции в панели GML

Ссылку на ваш эндпоинт (https://{ваш_домен}/discord/messages) вставьте в настройках панели лаунчера в разделе:

Интеграции → Социальные сети → Custom

6. Дополнительная информация

  • 🔄 Кэширование: данные кэшируются как на стороне интеграции, так и на стороне GML. Если Discord API временно недоступен, последние новости продолжат отображаться.
  • 🕒 Частота обновления: новости из Telegram обновляются примерно раз в 15 минут.
  • 🧩 Telegram-интеграция: реализована возможность получать новости из Telegram-каналов без использования бота.
  • 🧾 Заголовок новости: определяется первой строкой сообщения (до нажатия Enter).
  • 🔁 Обновление: в репозитории доступен shell-скрипт для автоматического обновления. См. инструкцию в README на GitHub.

7. Итог

После выполнения всех шагов вы получите:

✅ Автоматический импорт новостей из Discord и/или Telegram ✅ Безопасное HTTPS-соединение ✅ Простое управление через панель лаунчера ✅ Кэширование данных для стабильной работы