Новости из 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_ID | ID канала, из которого будут считываться сообщения. Как получить ID канала. |
PORT | Порт, на котором будет запущено приложение интеграции. По умолчанию используется 3000 . |
⚠️ Остальные переменные изменять не рекомендуется, если вы не уверены в их назначении.
После внесения изменений сохраните файл под именем .env
(удалите суффикс .example
).
3. Запуск приложения через Docker
В той же директории выполните команду:
docker compose up -d --build
После завершения сборки приложение будет доступно по адресу:
http://{IP_сервера}:{PORT}
4. Настройка проксирования и HTTPS
Для корректной работы рекомендуется настроить домен и SSL-сертификат.
-
Настройте поддомен, который будет проксировать запросы к вашему приложению.
-
Установите Nginx и Certbot:
sudo apt install -y nginx certbot python3-certbot-nginx
-
Создайте конфигурацию Nginx по примеру: 👉 Пример конфига Nginx (Gist)
-
Выполните команду для получения 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-соединение ✅ Простое управление через панель лаунчера ✅ Кэширование данных для стабильной работы