DiscordWebhook
Displays chat and events in Discord using only a webhook. Multi channel support!
Описание
Плагин Hytale, который связывает внутриигровые события с каналом Discord, используя веб-хук. Этот плагин автоматически отправляет игрока присоединиться, уйти, смерти, сообщения чата и события жизненного цикла сервера на ваш сервер Discord.
Текущие характеристики
- Система конфигурации событийОтдельные файлы конфигурации для каждого типа событий
- Система размещенияДинамические заполнители, как
{игрок},{сообщение},Причина смерти,Времяи т.д. - Поддержка Timezone: Хранители времени с контролем часовой зоны (например,
{time-america/los_angeles}) - Несколько каналов WebhookМаршрут различных событий по разным каналам Discord
- Настройка сообщений: Полный контроль над форматом сообщения (вкладки, простой текст или оба)
- Событие TogglingВключить или отключить отдельные события
- Проверка обновленийПроверьте выпуски Github на наличие обновлений и уведомите вас, если они есть.
- Hot ReloadПерезагрузка конфигурации без перезагрузки сервера с помощью
/dw-перезагрузка - Шаблоны событий по умолчаниюКонфигурации событий по умолчанию автоматически копируются с ресурсов при первом запуске
Текущие события
- Игрок присоединяется к событиямОтправляет настраиваемые уведомления, когда игрок присоединяется к серверу
- Игроки покидают событияОтправляет настраиваемые уведомления, когда игрок покидает сервер
- Игровые события смертиОтправляет настраиваемые уведомления, когда игрок умирает на сервере
- Игровой чат: Форварды всех сообщений в чате игроков для Discord с полной настройкой
- Серверная загрузкаОтправляет уведомление, когда сервер запускается
- Выключение сервераОтправляет уведомление, когда сервер отключается
установка
- Скачать последнюю версию из Страница выпуска
- Место
DiscordWebhook-x.x.x.jarФайл в вашем Сервер Hytaleмодпапка - Запустите свой сервер для создания файлов конфигурации
- Редактировать
Jemsire_DiscordWebhook/WebhookConfig.jsonфайл и добавить ваш Discord webhook URL(s) - (Необязательно) Настройка отдельных конфигураций событий в
Jemsire_DiscordWebhook/событияпапка - Тип игры
/dw-перезагрузкачтобы перезагрузить конфигурацию, чтобы запустить плагин
Примечание: Конфигурации событий по умолчанию автоматически создаются при первом запуске. Вы можете настроить их или оставить как есть.
конфигурация
После первого запуска конфигурационные файлы будут созданы в папке модов. Плагин использует двухуровневую систему конфигурации:
- WebcookConfig.jsonОсновная конфигурация с URL-адресами и каналами webhook
- событияОтдельные файлы конфигурации событий
Получение Discord Webhook URL
- Откройте настройки сервера Discord
- Пойти Интеграция ? Вебхуки
- щелкнуть Новый Webhook Выберите существующий webhook
- Скопировать webhook URL
- Вставьте его в свой
WebcookConfig.jsonфайл
Главная конфигурация Файл (WebhookConfig.json)
Основной конфигурационный файл находится в Jemsire_DiscordWebhook/WebhookConfig.json:
{
"WebhookLink":https://discord.com/api/webhooks/YOUR_WEBHOOK_URL_HERE"
"Версия": 2,
"UpdateCheck": правда,
"WebhookChannels": {
"по умолчанию":https://discord.com/api/webhooks/YOUR_DEFAULT_WEBHOOK_URL"
"штаб":https://discord.com/api/webhooks/YOUR_STAFF_WEBHOOK_URL"
?
?
Варианты конфигурации:
WebcookLinkПо умолчанию webhook URL (используется в качестве резервного копирования)ВерсияКонфигурационная версия (в настоящее время 2)UpdateCheckВключить/отключить автоматическую проверку обновленийВеб-каналыКарта имен каналов для URL-адресов webhook (например, «по умолчанию», «сотрудник», «админ»)
Файлы конфигурации событий
Каждое событие имеет свой собственный файл конфигурации. Jemsire_DiscordWebhook/события. Конфигурации по умолчанию автоматически создаются при первом запуске:
PlayerChat.jsonСообщения в чате игрокаPlayerConnect.jsonИгрок связывает событияPlayerDisconnect.jsonИгрок покидает событияPlayerDeath.jsonСобытия смерти игрокаBoot.json- события запуска сервераShutdown.jsonСобытия закрытия сервера
Структура конфигурации событий
{
"Включено": правда,
"WebhookChannel": "по умолчанию",
"MessageJson": "{\"content\": \"Antacticed **{player}**: {message}\"}
?
Варианты конфигурации:
включенныйВключить или отключить это событие (правда / ложь)WebcookChannel: Какой канал webhook использовать (должен совпадать с ключом)Веб-каналыот основного конфигурированияСообщение: Raw Discord webhook JSON с заполнителями (см. ниже)
Формат сообщения Примеры
Простое текстовое сообщение:
{
"Включено": правда,
"WebhookChannel": "по умолчанию",
"MessageJson": "{\"content\": \"Antacticed **{player}**: {message}\"}
?
Embed Message:
{
"Включено": правда,
"WebhookChannel": "по умолчанию",
"MessageJson": "{\"embeds\": [{\"title\": \" the Player Joined\", \"description\": \"{player} вошёл в мир!\", \"color\": 65280}]}
?
Комбинированный (Text + Embed):
{
"Включено": правда,
"WebhookChannel": "по умолчанию",
"MessageJson": "{\"content\": \"New player!\", \"embeds\": [{\"title\": \"Player Joined\", \"description\": \"{player} присоединился к серверу\", \"color\": 65280}]}
?
Серверное событие с Timezone:
{
"Включено": правда,
"WebhookChannel": "по умолчанию",
"MessageJson": "{\"embeds\": [{\"title\": \"" Server Started\", \"description\": \"Server started at {time-america/los_angeles}\", \"color\": 3447003}]}
?
Доступные держатели мест
Держатели места заменяются во время выполнения фактическими значениями. Использовать {имя владельца} В твоих струнах Джона.
Игроки-плейсеры:
{игрок}Имя пользователя или отображаемое имя игрока (контекстно-зависимое)[Имя игрока]Имя пользователя игрока (alias){playerDisplayName}- Имя игрока (alias){playerUuid}UUID игрока (если есть)
Chat Placeholders:
{сообщение}Содержимое сообщения в чате{содержание}- Содержание сообщений в чате (alias)
Местонахождение смерти:
Причина смерти- Форматированное сообщение о смерти{сообщение о смерти}Форматированное сообщение о смерти (alias)[сообщение смерти]Сырое сообщение о смерти (если доступно)
Временные места:
ВремяТекущее время в часовом поясе сервера по умолчанию (формат:yyyy-MM-dd HH:mm:ss z){time-<timezone>}- Текущее время в определенном часовом поясе (например,{time-america/los_angeles})
Примеры часовых поясов:
{time-america/los_angeles}Тихоокеанское время (PST/PDT){time-america/new_york}Восточное время (EST/EDT){время-Америка/Чикаго}Центральное время (CST/CDT){time-america/denver}Горное время (MST/MDT){time-europe/london}Время Великобритании (GMT/BST){time-europe/paris}Центральноевропейское время (CET/CEST){time-asia/tokyo}Японское стандартное время (JST){time-australia/sydney}Австралийское восточное время (AEST/AEDT){time-utc}Координированное универсальное время (UTC)
Timezone отмечает:
- Имена часовых поясов нечувствительны к случаю (например,
США/LOS_ANGELESработает так же, как иАмерика/los_angeles) - Можно использовать любой действительный идентификатор часового пояса Java (см. База данных часового пояса IANA)
- Если указан недействительный часовой пояс, система по умолчанию выйдет на UTC и зарегистрирует предупреждение на консоли.
- Формат времени включает аббревиатуру временной зоны (например, "2026-01-25 10:30:45 PST")
Примечание: Некоторые заполнители не будут работать на некоторых мероприятиях. Заполнители автоматически убегают для JSON, поэтому специальные персонажи не сломают полезную нагрузку вашего веб-хука.
командование
/dw-перезагрузкаПерезагрузка конфигурации плагина без перезагрузки сервера- Разрешение:
Discordwebhook.reload - использование: Перезагружается только в случае изменения конфигурации
- Разрешение:
Этот проект с открытым исходным кодом:
Не стесняйтесь вносить свой вклад или встраивать его в свою собственную систему! Проверь. Github
Хотите получать обновления для всех проектов?
Присоединяйтесь к раздору! Присоединяйтесь!
Показать оригинальное описание (English)
A Hytale plugin that links in-game events to a Discord channel using a webhook. This plugin automatically sends player join, leave, deaths, chat messages, and server lifecycle events to your Discord server.
Current Features
- Event Configuration System: Individual configuration files for each event type
- Placeholder System: Dynamic placeholders like
{player},{message},{deathCause},{time}, etc. - Timezone Support: Time placeholders with timezone control (e.g.,
{time-america/los_angeles}) - Multiple Webhook Channels: Route different events to different Discord channels
- Message Customization: Full control over message format (embeds, plain text, or both)
- Event Toggling: Enable or disable individual events
- Update Check: Check Github releases for updates and notifies you if there is one
- Hot Reload: Reload configuration without restarting the server using
/dw-reload - Default Event Templates: Default event configurations are automatically copied from resources on first launch
Current Events
- Player Join Events: Sends customizable notifications when a player joins the server
- Player Leave Events: Sends customizable notifications when a player leaves the server
- Player Death Events: Sends customizable notifications when a player dies on the server
- Player Chat: Forwards all player chat messages to Discord with full customization
- Server Boot: Sends a notification when the server starts up
- Server Shutdown: Sends a notification when the server shuts down
Installation
- Download the latest release from the releases page
- Place the
DiscordWebhook-x.x.x.jarfile into your Hytale server'smodsfolder - Start your server to generate the configuration files
- Edit the
Jemsire_DiscordWebhook/WebhookConfig.jsonfile and add your Discord webhook URL(s) - (Optional) Customize individual event configs in
Jemsire_DiscordWebhook/events/folder - In-game type
/dw-reloadto hot reload the config to start the plugin
Note: Default event configurations are automatically created on first launch. You can customize them or leave them as-is.
Configuration
After first launch, configuration files will be created in your mods folder. The plugin uses a two-tier configuration system:
- WebhookConfig.json: Main configuration with webhook URLs and channels
- events/: Individual event configuration files
Getting a Discord Webhook URL
- Open your Discord server settings
- Go to Integrations → Webhooks
- Click New Webhook or select an existing webhook
- Copy the webhook URL
- Paste it into your
WebhookConfig.jsonfile
Main Configuration File (WebhookConfig.json)
The main configuration file is located at Jemsire_DiscordWebhook/WebhookConfig.json:
{
"WebhookLink": "https://discord.com/api/webhooks/YOUR_WEBHOOK_URL_HERE",
"Version": 2,
"UpdateCheck": true,
"WebhookChannels": {
"default": "https://discord.com/api/webhooks/YOUR_DEFAULT_WEBHOOK_URL",
"staff": "https://discord.com/api/webhooks/YOUR_STAFF_WEBHOOK_URL"
}
}
Configuration Options:
WebhookLink: Default webhook URL (used as fallback)Version: Configuration version (currently 2)UpdateCheck: Enable/disable automatic update checkingWebhookChannels: Map of channel names to webhook URLs (e.g., "default", "staff", "admin")
Event Configuration Files
Each event has its own configuration file in Jemsire_DiscordWebhook/events/. Default configs are automatically created on first launch:
PlayerChat.json- Player chat messagesPlayerConnect.json- Player connect eventsPlayerDisconnect.json- Player leave eventsPlayerDeath.json- Player death eventsBoot.json- Server startup eventsShutdown.json- Server shutdown events
Event Configuration Structure
{
"Enabled": true,
"WebhookChannel": "default",
"MessageJson": "{\"content\": \"💬 **{player}**: {message}\"}"
}
Configuration Options:
Enabled: Enable or disable this event (true/false)WebhookChannel: Which webhook channel to use (must match a key inWebhookChannelsfrom main config)MessageJson: Raw Discord webhook JSON with placeholders (see below)
Message Format Examples
Plain Text Message:
{
"Enabled": true,
"WebhookChannel": "default",
"MessageJson": "{\"content\": \"💬 **{player}**: {message}\"}"
}
Embed Message:
{
"Enabled": true,
"WebhookChannel": "default",
"MessageJson": "{\"embeds\": [{\"title\": \"📥 Player Joined\", \"description\": \"{player} has entered the world!\", \"color\": 65280}]}"
}
Combined (Text + Embed):
{
"Enabled": true,
"WebhookChannel": "default",
"MessageJson": "{\"content\": \"New player!\", \"embeds\": [{\"title\": \"Player Joined\", \"description\": \"{player} joined the server\", \"color\": 65280}]}"
}
Server Event with Timezone:
{
"Enabled": true,
"WebhookChannel": "default",
"MessageJson": "{\"embeds\": [{\"title\": \"🚀 Server Started\", \"description\": \"Server started at {time-america/los_angeles}\", \"color\": 3447003}]}"
}
Available Placeholders
Placeholders are replaced at runtime with actual values. Use {placeholderName} in your JSON strings.
Player Placeholders:
{player}- Player's username or display name (context-dependent){playerUsername}- Player's username (alias){playerDisplayName}- Player's display name (alias){playerUuid}- Player's UUID (if available)
Chat Placeholders:
{message}- Chat message content{content}- Chat message content (alias)
Death Placeholders:
{deathCause}- Formatted death message{deathMessage}- Formatted death message (alias){deathMessageRaw}- Raw death message (if available)
Time Placeholders:
{time}- Current time in server's default timezone (format:yyyy-MM-dd HH:mm:ss z){time-<timezone>}- Current time in a specific timezone (e.g.,{time-america/los_angeles})
Timezone Examples:
{time-america/los_angeles}- Pacific Time (PST/PDT){time-america/new_york}- Eastern Time (EST/EDT){time-america/chicago}- Central Time (CST/CDT){time-america/denver}- Mountain Time (MST/MDT){time-europe/london}- UK Time (GMT/BST){time-europe/paris}- Central European Time (CET/CEST){time-asia/tokyo}- Japan Standard Time (JST){time-australia/sydney}- Australian Eastern Time (AEST/AEDT){time-utc}- Coordinated Universal Time (UTC)
Timezone Notes:
- Timezone names are case-insensitive (e.g.,
AMERICA/LOS_ANGELESworks the same asamerica/los_angeles) - Any valid Java timezone ID can be used (see IANA Time Zone Database)
- If an invalid timezone is specified, the system will default to UTC and log a warning to the console
- Time format includes the timezone abbreviation (e.g., "2026-01-25 10:30:45 PST")
Note: Some placeholders won't work in some events. Placeholders are automatically escaped for JSON, so special characters won't break your webhook payload.
Commands
/dw-reload- Reloads the plugin configuration without restarting the server- Permission:
discordwebhook.reload - Usage: Only reloads if the configuration has changed
- Permission:
This project is open-source:
Feel free to contribute or spin it into your own system! Check out the Github
Want to get updates for all my projects?
Join the discord! Join Now!
Последние версии
DiscordWebhook-1.4.0.jar
DiscordWebhook-1.3.0.jar
DiscordWebhook-1.2.3.jar
DiscordWebhook-1.2.2.jar
DiscordWebhook-1.2.1.jar
Информация
Авторы:
Категории:
Версии игры:
Создан: 15.01.2026