# DiscordSRV Configuration
# Нужна помощь? Присоединяйтесь к нашему Discord, https://discordsrv.com/discord

# Не трогайте это пожалуйста!
ConfigVersion: 1.29.0

# Токен бота; не знаете что это? Просмотрите видео по установке и настройке плагина
# После изменения этого параметра необходимо перезагрузить сервер.
BotToken: "_DISCORDSRV_BOT_TOKEN_"

# Ссылки на каналы из игры в Discord
# синтаксис: Channels: {"название внутриигрового канала из Minecraft": "числовой идентификатор канала из Discord", "другое название внутриигрового канала из Minecraft": "другой числовой идентификатор канала из Discord"}
#
# Все сообщения DiscordSRV будут идти на первый канал, если не определен канал для этого типа сообщений:
# при использовании совместимого плагина чата имя канала будет тем же, что и в этом плагине (для сообщений чата)
# - Если вы используете TownyChat, канал по умолчанию обычно называется "general", а не "global".
# для сообщений в чате игрока (если не используется плагин чата): global
# для сообщений о запуске / остановке сервера: status
# для сообщений о достижении / продвижении: awards
# для сообщений о смерти: deaths
# для сообщений о присоединении: join
# для сообщений о выходе: leave
# для сообщений dynmap: dynmap
# для сообщений сторожевого таймера: watchdog
# для /discord broadcast: broadcasts (если не указано в команде)
# Ссылка на аккаунт: link
#
# Первая часть пар каналов не является названием канала Discord!
# Выполните "/discord reload" после изменения этого опции для применения
Channels: {"carbon:global": "1394273426746773544"}

# Канал для вывода сообщений Консоли (НЕ ИМЯ); оставьте пустым, чтобы отключить консольный канал
DiscordConsoleChannelId: ""

# Ссылка на приглашение, отображаемая игрокам при использовании /discord, и в сообщении, отображаемом несвязанным игрокам при обязательной привязке.
DiscordInviteLink: "https://discord.gg/fYKUUKeCS3"

# Эксперименты
# Эти функции не полностью оптимизированы; Используйте на свой риск

# JDBC (MySQL/MariaDB)
Experiment_JdbcAccountLinkBackend: "jdbc:mysql://HOST:PORT/NAME?autoReconnect=true&useSSL=false"
Experiment_JdbcTablePrefix: ""
Experiment_JdbcUsername: ""
Experiment_JdbcPassword: ""

# Webhook Delivery
Experiment_WebhookChatMessageDelivery: false
Experiment_WebhookChatMessageUsernameFormat: "%displayname%"
Experiment_WebhookChatMessageFormat: "%message%"
Experiment_WebhookChatMessageUsernameFromDiscord: false
Experiment_WebhookChatMessageAvatarFromDiscord: false
Experiment_WebhookChatMessageUsernameFilters: {}

# Встраивание и формат URL-адреса изображения / аватара веб-перехватчика
# Оставьте пустым, чтобы использовать значение по умолчанию
# Доступные заполнители: {texture} {username} {uuid} {uuid-nodashes} {size}
AvatarUrl: "https://mc-heads.net/avatar/%skinsrestorer_texture_id_or_steve%.png#{username}"

# Reserializer
# Преобразует форматирование (жирный, курсив, подчеркивание) между Minecraft и Discord
Experiment_MCDiscordReserializer_ToDiscord: true
Experiment_MCDiscordReserializer_ToMinecraft: true
Experiment_MCDiscordReserializer_InBroadcast: false

# Другие
CancelConsoleCommandIfLoggingFailed: true
ForcedLanguage: none
ForceTLSv12: true
NoopHostnameVerifier: false
MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS: 3
TimestampFormat: EEE, d. MMM yyyy HH:mm:ss z
DateFormat: yyyy-MM-dd
# https://docs.discordsrv.com/config/#Timezone
Timezone: Europe/Kiev
# MinecraftMentionSound: Должен ли звук посылаться игроку в Minecraft при упоминании из Discord
MinecraftMentionSound: true

# Подключаемые модули
# После изменения этих параметров необходимо перезагрузить сервер.
#
# DisabledPluginHooks: отключить модули (обычно это названия плагинов).
# VentureChatBungee: включает BungeeCord-функционал модуля VentureChat (сообщения принимаются с каждого сервера, требуется, чтобы по крайней мере 1 игрок был в сети)
# EnablePresenceInformation: enabled presence information, which is required for some of our PlaceholderAPI placeholders. Keep in mind this requires the "Presence Intent" from the Discord developer portal
# UseModernPaperChatEvent: only use this if you have a chat plugins that SPECIFICALLY utilizes Paper's "AsyncChatEvent"
DisabledPluginHooks: []
VentureChatBungee: false
EnablePresenceInformation: false
UseModernPaperChatEvent: false

# Информация в статусе бота в Discord
# Устанавливает боту статус
# Может быть как одним статическим значением, так и несколькими (сменяющимися друг за другом).
# Вы можете добавить в начало "playing", "watching", "listening to" или "competing", чтобы установить тип активности (играет, смотрит, слушает, соревнуется)
# Также вы можете поставить свой кастомный статус без префикса
#    %online%: number of online players
#    Поддерживает шаблоны PlaceholderAPI
#
# DiscordGameStatus: Отображаемый текст. Может быть как одним значением, например "Minecraft", так и несколькими: ["Minecraft", "yourip.changeme.com"]
# DiscordOnlineStatus: Статус отображаемого действия. Он должен быть одним из следующих: ONLINE, DND, IDLE или INVISIBLE.
# StatusUpdateRateInMinutes: Как часто (в минутах) менять статус (если их несколько)
DiscordGameStatus: ["Синхронизирует Бебру"]
DiscordOnlineStatus: ONLINE
StatusUpdateRateInMinutes: 1

# Настройка канала чата
# Канал чата предназначен для вывода всех внутриигровых сообщений, а также всех публичных сообщений, которыми обмениваются игроки
# вашего сервера
#
# DiscordChatChannelDiscordToMinecraft: отправлять или не отправлять сообщения из канала чата в чат Minecraft (Discord -> Minecraft)
# DiscordChatChannelMinecraftToDiscord: отправлять или не отправлять сообщения из чата Minecraft в канал чата (Minecraft -> Discord)
# DiscordChatChannelTruncateLength: максимальная длина сообщений из Discord для отправки в чат Minecraft
# DiscordChatChannelTranslateMentions: переводить или не переводить упоминания такие как @Person для сообщений Minecraft в Discord
# DiscordChatChannelAllowedMentions: типы упоминаний, разрешенные в сообщениях Minecraft to Discord; типы, отсутствующие в значении по умолчанию: "роль", "здесь" и "все"
# DiscordChatChannelEmojiBehavior: как смайлики должны быть отправлены в Минекрафт. Может быть "show", "name" или "hide".
# DiscordChatChannelEmoteBehavior: как эмоты должны быть отправлены в Минекрафт. Может быть "name" или "hide".
# DiscordChatChannelPrefixRequiredToProcessMessage: символ(ы), необходимые как префикс сообщений для их отправки из Minecraft в Discord (например, «!»)
# DiscordChatChannelPrefixActsAsBlacklist: Должен ли префикс действовать как черный список.
# DiscordChatChannelRolesAllowedToUseColorCodesInChat: список ролей, которым разрешено использовать цвета/форматирование в чате Discord в Minecraft
# DiscordChatChannelBroadcastDiscordMessagesToConsole: выводить или нет обработанные Discord сообщения в игровую консоль
# DiscordChatChannelRequireLinkedAccount: требовать ли привязку аккаунта при отправке сообщения из Discord в Minecraft
# DiscordChatChannelBlockBots: блокировать ли ботам возможность отправлять сообщения из Discord в Minecraft
# DiscordChatChannelBlockWebhooks: следует ли блокировать ботов в чате Discord -> MC
# DiscordChatChannelBlockedIds: идентификаторы пользователей (или ботов), заблокированных для отсылки сообщений из Discord в Minecraft
# DiscordChatChannelBlockedRolesAsWhitelist: если следующий список следует рассматривать как белый список (true) или черный список (false)
# DiscordChatChannelBlockedRolesIds: идентификаторы ролей Discord, сообщения которых не должны обрабатываться и отправляться в MC
# DiscordChatChannelRolesSelectionAsWhitelist: если следующий список следует рассматривать как белый список (true) или черный список (false)
# DiscordChatChannelRolesSelection: список ролей, которые должны быть отфильтрованы по всем ролям пользователя.
# DiscordChatChannelRoleAliases: список псевдонимов ролей (альтернативные имена для ролей для использования в сообщениях Minecraft)
#
DiscordChatChannelDiscordToMinecraft: false
DiscordChatChannelMinecraftToDiscord: false
DiscordChatChannelTruncateLength: 256
DiscordChatChannelTranslateMentions: true
DiscordChatChannelAllowedMentions: [user, channel, emote]
DiscordChatChannelEmojiBehavior: "name"
DiscordChatChannelEmoteBehavior: "name"
DiscordChatChannelPrefixRequiredToProcessMessage: "#"
DiscordChatChannelPrefixActsAsBlacklist: false
DiscordChatChannelRolesAllowedToUseColorCodesInChat: ["Developer", "Owner", "Admin", "Moderator"]
DiscordChatChannelBroadcastDiscordMessagesToConsole: true
DiscordChatChannelRequireLinkedAccount: false
DiscordChatChannelBlockBots: false
DiscordChatChannelBlockWebhooks: true
DiscordChatChannelBlockedIds: ["000000000000000000", "000000000000000000", "000000000000000000"]
DiscordChatChannelBlockedRolesAsWhitelist: false
DiscordChatChannelBlockedRolesIds: ["000000000000000000", "000000000000000000", "000000000000000000"]
DiscordChatChannelRolesSelectionAsWhitelist: false
DiscordChatChannelRolesSelection: ["Don't show me!", "Misc role"]
DiscordChatChannelRoleAliases: {"Developer": "Dev"}

# Настройка чата консоли
# Канал или чат консоли - это текстовый канал, который интерпретирует все отслылаемые из Discord сообщения как команды консоли,
# а также транслирует все события, сообщения и команды консоли сервера в Discord
#
# Вы можете настроить формат всех сообщений (включая удаление временных меток) в конфигурационном файле messages.yml
#
# DiscordConsoleChannelLogRefreshRateInSeconds: скорость в секундах между отправкой сообщений из консоли
# DiscordConsoleChannelUsageLog:
#    %date%:  текущая дата
#              пример: 2017-01-01
#    PlaceholderAPI заполнители поддерживаются
# DiscordConsoleChannelBlacklistActsAsWhitelist: инвертировать ли "чёрный" список команд, превращая его в "белый"
# DiscordConsoleChannelBlacklistedCommands: фразы, заключенные в кавычки, которые пользователи не могут отправлять в виде команд в консоль
# DiscordConsoleChannelFilters: фильтры регулярных выражений, которые будут применяться к консольным строкам, отправляемым в Discord, если результат пуст, сообщение не будет отправлено вообще
# DiscordConsoleChannelLevels: типы логов, которые отправляются в консольный канал
# DiscordConsoleChannelUseCodeBlocks: если консоль должна быть завернута в блоки кода и окрашена
# DiscordConsoleChannelBlockBots: разрешить ли ботам отправлять команды в канале консоли
#
DiscordConsoleChannelLogRefreshRateInSeconds: 5
DiscordConsoleChannelUsageLog: "Console-%date%.log"
DiscordConsoleChannelBlacklistActsAsWhitelist: false
DiscordConsoleChannelBlacklistedCommands: ["?", "op", "deop", "execute"]
DiscordConsoleChannelFilters: {".*(?i)async chat thread.*": "", ".*There are \\d+ (?:of a max of|out of maximum) \\d+ players online.*": ""}
DiscordConsoleChannelLevels: [info, warn, error]
DiscordConsoleChannelUseCodeBlocks: true
DiscordConsoleChannelBlockBots: true

# Настройка выполнения команд в канале чата
# Эти опции позволяют настроить выполнение определённых команды на серверной консоли
# скажем, вот так "!c kick Notch"
#
# DiscordChatChannelConsoleCommandEnabled: разрешать или запрещать консольные команды из канала чата.
# DiscordChatChannelConsoleCommandNotifyErrors: отправлять или не отправлять сообщение об ошибке при попытке использовать команду, не имея прав
# DiscordChatChannelConsoleCommandPrefix: префикс для использования в консольных командах. например "!c tps"
# DiscordChatChannelConsoleCommandRolesAllowed: роли, которым разрешено выполнять команды сервера из канала чата
# DiscordChatChannelConsoleCommandWhitelist: список команд, которые могут быть запущены с помощью DiscordChatChannelConsoleCommandPrefix
# DiscordChatChannelConsoleCommandWhitelistBypassRoles: список ролей, которые обходят белый список
# DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: должен ли командный белый список действовать как черный список
# DiscordChatChannelConsoleCommandExpiration: время в секундах до тех пор, пока результат команды будет удален ботом. Установите значение 0, чтобы отключить истечение срока действия.
# DiscordChatChannelConsoleCommandExpirationDeleteRequest: удалить или не удалять сообщение игрока, который выполнил команду
#
DiscordChatChannelConsoleCommandEnabled: false
DiscordChatChannelConsoleCommandNotifyErrors: false
DiscordChatChannelConsoleCommandPrefix: "!c"
DiscordChatChannelConsoleCommandRolesAllowed: ["Protektor", "Developer"]
DiscordChatChannelConsoleCommandWhitelist: ["say", "lag", "tps"]
DiscordChatChannelConsoleCommandWhitelistBypassRoles: ["Owner", "Developer"]
DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: false
DiscordChatChannelConsoleCommandExpiration: 0
DiscordChatChannelConsoleCommandExpirationDeleteRequest: true

# Особая команда вывода списка игроков в канале чата
# Да-да, все эти опции только для одной безобидной команды "playerlist"
#
# DiscordChatChannelListCommandEnabled: включена ли команда
# DiscordChatChannelListCommandMessage: команда, которую могут использовать игроки, чтобы вывести список игроков на сервере
# DiscordChatChannelListCommandExpiration: время в секундах, пока выведенный список пользователей не будет удалён ботом. установите значение 0, чтобы отключить истечение срока действия.
# DiscordChatChannelListCommandExpirationDeleteRequest:  удалять ли сообщение игрока, который изначально запросил вывод списока игроков
#
DiscordChatChannelListCommandEnabled: true
DiscordChatChannelListCommandMessage: "playerlist"
DiscordChatChannelListCommandExpiration: 10
DiscordChatChannelListCommandExpirationDeleteRequest: true

# Чёрный список фраз и регулярных выражений для канала чата
#
# DiscordChatChannelGameFilters: фильтры регулярных выражений, которые будут применяться к сообщениям чата, отправляемым в Discord, если результат пуст, сообщение не будет отправлено вообще
# DiscordChatChannelDiscordFilters: фильтры регулярных выражений, которые будут применяться к сообщениям чата, отправляемым в Minecraft, если результат пуст, сообщение не будет отправлено вообще
#
DiscordChatChannelGameFilters: {}
DiscordChatChannelDiscordFilters: {".*Online players \\(.*": "", ".*\\*\\*No online players\\*\\*.*": ""}

# Настройки обновления темы канала
#
# ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: должны ли темы канала быть вообще изменены при завершении работы сервера
# ChannelTopicUpdaterRateInMinutes: число минут между автоматическим обновлением тем канала со свежей информацией
#
ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: false
ChannelTopicUpdaterRateInMinutes: 10

# Обновление канала
# Эта функция изменяет название указанных каналов, чтобы они соответствовали внутриигровым заполнителям.
# Опции:
#   ChannelId: идентификатор канала для изменения (обязательно)
#   Format: формат канала (обязательно). Доступные заполнители:
#     %playercount%:    текущее количество игроков
#     %playermax%:      максимальное количество игроков
#     %date%:           текущая дата и время
#     %totalplayers%:   общее количество игроков, когда-либо присоединившихся к основному миру
#     %uptimemins%:     количество минут с момента запуска DiscordSRV
#     %uptimehours%:    количество часов с момента запуска DiscordSRV
#     %motd%:           motd сервера
#     %serverversion%:  версия сервера, например Spigot-1.9.
#     %freememory%:     свободная память JVM в МБ
#     %usedmemory%:     используемая память JVM в МБ
#     %totalmemory%:    общий объем памяти JVM в МБ
#     %maxmemory%:      максимальная память JVM в МБ
#     %freememorygb%:   свободная память JVM в ГБ
#     %usedmemorygb%:   используемая память JVM в ГБ
#     %totalmemorygb%:  общий объем памяти JVM в ГБ
#     %maxmemorygb%:    максимальная память JVM в ГБ
#     %tps%:            среднее значение TPS сервера
#     Заполнители PlaceholderAPI также поддерживаются
#   ShutdownFormat: Формат, который должен принимать канал после выключения сервера. Доступные заполнители:
#     %time% или %date%: текущая дата и время
#     %serverversion%:  версия сервера
#     %totalplayers%:   общее количество игроков, когда-либо присоединившихся к основному миру
#     %timestamp%:      текущая временная метка unix
#   UpdateInterval: Время в минутах ожидания между обновлением имени канала (минимум 10 из-за ограничений скорости)
ChannelUpdater:
  - ChannelId: "000"
    Format: "%playercount% игроков онлайн"
    ShutdownFormat: "Сервер отключен"
    UpdateInterval: 10
  - ChannelId: "000"
    Format: "Текущий показатель TPS: %tps%"
    ShutdownFormat: "Сервер отключен"
    UpdateInterval: 10

# Заготовленные ответы
# Эти триггеры (команды в некотором роде), которые будут отправлять «заготовленный ответ» в ответ на них
# Возможно, вы захотите изменить их или добавить свои собственные
#
# Синтаксис {"TRIGGER": "RESPONSE", "TRIGGER": "RESPONSE", ...}
# Если вы не хотите использовать эту опцию, просто оставьте {}
# Кстати, доступны шаблоны PlaceholderAPI
#
DiscordCannedResponses: {"!ip": "bebrashield.net", "!site": "https://bebrashield.net"}

# Подключение аккаунта Minecraft к Discord
# Эти опции относятся к настройке связывания игрового аккаунта Minecraft с учётной записью Discord
#
# MinecraftDiscordAccountLinkedConsoleCommands: команды, подлежащие выполнению при связывании аккаунтов (см. ниже все возможные шаблоны)
# MinecraftDiscordAccountUnlinkedConsoleCommands: команды, подлежащие выполнению при разрыве связанных аккаунтов (см. ниже все возможные шаблоны)
# %minecraftplayername%: ник игрока Minecraft
#                         пример: Notch
# %minecraftuuid%:       uuid игрока
#                         пример: вы знаете как выглядит uuid
# %discordid%:           связанный ID аккаунта Discord
#                         пример: 12345678901234567890
# %discordname%:         привязанный ник аакаунта Discord
#                         пример: Notch
#
# MinecraftDiscordAccountLinkedRoleNameToAddUserTo: имя или ID Discord роли, в которую будут добавлены пользователи, после того как привяжут свои аккаунты
# MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: можно ли отправить новый код боту, чтобы перепривязать аккаунт
# MinecraftDiscordAccountLinkedUsePM: Связывание счетов с помощью PMs
# MinecraftDiscordAccountLinkedMessageDeleteSeconds: Время (в секундах) до удаления сообщения при связывании в текстовом канале. Установите значение 0, если вы не хотите удалять сообщение.
#
MinecraftDiscordAccountLinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountUnlinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "1399136491090739210"
MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: true
MinecraftDiscordAccountLinkedUsePM: true
MinecraftDiscordAccountLinkedMessageDeleteSeconds: 0

# Мониторинг сервера
#
# Мониторинг отслеживает состояние вашего сервера с момента последнего игрового такта (тика)
# Если время, прошедшее с момента последнего тика, превышает установленный таймаут в секундах, в чат Discord будет отправлено соответствующее сообщение
#
# ServerWatchdogEnabled: включён или нет мониторинг сервера в принципе
# ServerWatchdogTimeout: время в секундах, которое должно пройти с момента последнего тика, прежде чем будет отправлено сообщение (к примеру, Spigot использует 60 секунд)
#                        минимум для этого значения - 10 секунд
# ServerWatchdogMessageCount: количество раз отправки ServerWatchdogMessage. Полезно, если вы *действительно* хотите убедиться что что-то пошло не так
#
ServerWatchdogEnabled: true
ServerWatchdogTimeout: 30
ServerWatchdogMessageCount: 3

# HTTP proxy used for connecting to the Discord API
# Leave this alone if you don't understand what it does
ProxyHost: "example.com"
ProxyPort: 1234
ProxyUser: "USERNAME"
ProxyPassword: "PASSWORD"

# Отладочная информация
# Не включайте их, если вы не пытаетесь найти проблему
#
# Доступные категории отладки:
# MINECRAFT_TO_DISCORD  - Сообщения из Minecraft
# DISCORD_TO_MINECRAFT  - Сообщения из Discord
# GROUP_SYNC            - Групповая синхронизация
# PRESENCE              - Статус игры или присутствие бота
# VOICE                 - Голосовой модуль (см. voice.yml)
# REQUIRE_LINK          - Требуемая ссылка для присоединения модуля (см. linking.yml)
# NICKNAME_SYNC         - Псевдоним синхронизации
# ALERTS                - Оповещения (см. alerts.yml)
# WATCHDOG              - Мониторинг сервера
# BAN_SYNCHRONIZATION   - Синхронизация банов
# LP_CONTEXTS           - Контексты LuckPerm
# ACCOUNT_LINKING       - привязка учетной записи Discord/Minecraft
#
# UNCATEGORIZED         - Все, что не относится ни к одной из вышеуказанных категорий
# ALL                   - Все вышеперечисленные категории (включая UNCATEGORIZED)
#
# JDA                   - Отладочные сообщения JDA
# JDA_REST_ACTIONS      - Для отладки остальных действий JDA
# CALLSTACKS            - Отображает трассировку стека для вызовов отладки DiscordSRV
#
# Ex. "Debug: [GROUP_SYNC, PRESENCE]"
#
Debug: []
