123 lines
7.3 KiB
YAML
123 lines
7.3 KiB
YAML
# Это - продвинутый функционал DiscordSRV, позволяющий отправлять сообщения в дискорд при каком-либо событии / вводе команды.
|
||
# Вам нужно знать, как работают события в Bukkit.
|
||
# Если вы не уверены в том, как это использовать - можете спросить знакомого разработчика, или присоединиться на наш дискорд-сервер @ discordsrv.com/discord
|
||
# Made something you'd like to share? You can do so in our Discord server's #alerts forum (invite above)
|
||
#
|
||
# Ссылка на документацию Bukkit API:
|
||
# https://hub.spigotmc.org/javadocs/bukkit
|
||
# Полезные штуки, которые помогут понять как работает SpEL:
|
||
# https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/expressions.html
|
||
# https://dzone.com/articles/learn-spring-expression-language-with-examples
|
||
#
|
||
# Вы можете использовать следующие заполнители:
|
||
# {tps} - Средний TPS серверп
|
||
# {time} - Текущее время
|
||
# {date} - Текущая дата
|
||
# {name} - (для PlayerEvent) имя игрока
|
||
# {ping} - (для PlayerEvent) пинг игрока
|
||
# {username} - (для PlayerEvent) имя игрока
|
||
# {displayname} - (для PlayerEvent) ник игрока
|
||
# {usernamenoescapes} - if alert is for a player event, the username of the player without escaping discord format (for use in inline code & code block markdown)
|
||
# {displaynamenoescapes} - if alert is for a player event, the display name of the player without escaping discord format (for use in inline code & code block markdown)
|
||
# {world} - (для PlayerEvent) мир, в котором находится игрок
|
||
# {embedavatarurl} - если PlayerEvent, то ссылка на аватар игрока, иначе на аватар бота
|
||
# {botavatarurl} - ссылка на аватар бота
|
||
# {botname} - имя бота
|
||
# %placeholder% - любые шаблоны PlaceholderAPI
|
||
#
|
||
# Вы также можете использовать выражения SpEL через ${expression...}, например...
|
||
# - Получить IP игрока: ${#player.address.address.hostAddress}
|
||
# - Получить игровой режим игрока: ${#player.gameMode.name()}
|
||
# - Получить id привязанного аккаунта в Discord у игрока: ${#discordsrv.accountLinkManager.getDiscordId(#player.uniqueId)}
|
||
# - Получить количество игроков на сервере: ${#server.onlinePlayers.size()}
|
||
# - Проверить статус DiscordSRV: ${#jda.status.name()}
|
||
# - Проверить, находится ли игрок в определённом мире: ${#player.world.name == 'world_the_end'}
|
||
# - Проверить, светит ли солнце в том мире, в котором сейчас игрок: ${#player.world.time > 0 && #player.world.time < 13000}
|
||
# Вы можете использовать следующие плейсхолдеры:
|
||
# #plugins.<plugin> - указанный плагин (null, если не существует)
|
||
# #event - Событие, которое отправит уведомление (если это уведомление действительно отправляется событием)
|
||
# #server - Эквивалент Bukkit#getServer
|
||
# #discordsrv - объект плагина DiscordSRV
|
||
# #player - игрок, который вызвал событие / отправил команду
|
||
# #sender - отправитель команды
|
||
# #command - полная команда (без слеша в начале)
|
||
# #args - аргументы команды
|
||
# #allArgs - аргументы команды как единая строка
|
||
# #channel - канал, в который будет отправлено это уведомление
|
||
# #jda - объект DiscordSRV JDA, нужен чтобы общаться с дискордом
|
||
#
|
||
# Синтаксис/стандартное:
|
||
# - Trigger: <название события либо /команда>
|
||
# Conditions:
|
||
# - property == < > <= >= value и т. д.
|
||
# Channel: <discordsrv channel name>
|
||
# IgnoreCancelled: true # Только для событий
|
||
# Content: ""
|
||
# Webhook:
|
||
# Enabled: false
|
||
# AvatarUrl: "{botavatarurl}"
|
||
# Name: "{botname}"
|
||
# Embed:
|
||
# Enabled: true
|
||
# Color: "#00ff00" # принимает шестнадцатеричный цветовой код (напр. "#ffffff") либо RGB-число (напр. 0)
|
||
# Author:
|
||
# ImageUrl: "{embedavatarurl}"
|
||
# Name: "{username} сделал... Что-то."
|
||
# Url: ""
|
||
# ThumbnailUrl: ""
|
||
# Title:
|
||
# Text: ""
|
||
# Url: ""
|
||
# Description: ""
|
||
# Fields: [] # Формат - "title;value;inline" (напр. "Кто вошёл?;%displayname%;true") либо "blank", чтобы добавить пустое поле
|
||
# ImageUrl: ""
|
||
# Footer:
|
||
# Text: ""
|
||
# IconUrl: ""
|
||
# Timestamp: false # поставьте на true, чтобы использовать время, в которое было отправлено сообщение, иначе будет использоваться unix-timestamp для конкретного времени (https://www.epochconverter.com/)
|
||
#
|
||
Alerts:
|
||
# Конфиг-образец, отправляет сообщение в канал "fish", когда игрок ловит рыбу
|
||
#- Trigger: PlayerFishEvent
|
||
# Channel: fish
|
||
# Conditions:
|
||
# - state.name() == 'CAUGHT_FISH'
|
||
# Embed:
|
||
# Color: "#00ff00"
|
||
# Author:
|
||
# ImageUrl: "{embedavatarurl}"
|
||
# Name: "{name} поймал ${caught.itemStack.type.name()}!"
|
||
|
||
# Конфиг-образец, чтобы отправлять уведомления античита Matrix
|
||
#- Trigger: PlayerViolationEvent
|
||
# Channel: matrix
|
||
# Conditions:
|
||
# - violations >= 5 # Не отправлять инфу про тех, у кого меньше 5 нарушений
|
||
# Embed:
|
||
# Color: "#ff0000"
|
||
# Author:
|
||
# ImageUrl: "{embedavatarurl}"
|
||
# Name: "{username} попался на проверке ${hackType.name().toLowerCase()} | ${component} | vl:${violations} ping:${player.handle.ping} tps:{tps}"
|
||
|
||
# Конфиг-образец, отправляет сообщение всякий раз, когда кто-то использует /gamemode
|
||
#- Trigger: /gamemode
|
||
# Channel: gamemode
|
||
# Conditions:
|
||
# - '#player.hasPermission("minecraft.command.gamemode") == true'
|
||
# Embed:
|
||
# Color: "#ff0000"
|
||
# Author:
|
||
# ImageUrl: "{embedavatarurl}"
|
||
# Name: "{username} изменил игровой режим на ${#args.get(0)}"
|
||
|
||
# Конфиг-образец, отправляет сообщение всякий раз, когда кто-то использует /me
|
||
#- Trigger: /me
|
||
# Channel: me
|
||
# Conditions:
|
||
# - '#player.hasPermission("minecraft.command.me") == true || #player.hasPermission("essentials.me") == true'
|
||
# Embed:
|
||
# Color: "#00ff00"
|
||
# Author:
|
||
# ImageUrl: "{embedavatarurl}"
|
||
# Name: "* {username} ${#allArgs}"
|