Skript-Integrationsreferenz
Wenn Verité und Skript beide installiert sind, registriert Verité automatisch ein Skript-Addon und seine Syntax wird ohne Konfiguration verfügbar. Jedes Element delegiert an dieselbe öffentliche teacommontea.api-Oberfläche, die in der Entwickler-API-Referenz dokumentiert ist, sodass ein Skript genau das sieht, was das Plugin durchsetzt.
Diese Seite listet jede registrierte Bedingung, jeden Effekt, jeden Ausdruck, jedes Ereignis und jeden Ereigniswert auf, nach Art gruppiert, mit dem tatsächlich registrierten Muster für jedes. Optionale Teile erscheinen in [eckigen Klammern] und Auswahlmöglichkeiten in (a|b), passend zu Skripts eigener Mustergrammatik. Ein führendes - bei einem Typ (zum Beispiel %-player%) markiert dieses Argument als optional.
Zwei Themen haben dedizierte Anleitungen, die diese Elemente in einem funktionierenden Chat-Handler zeigen:
- Chatinhalte filtern: Integration benutzerdefinierter Chat-Systeme.
- Stummschaltungen, Slowmode und Freeze durchsetzen: Benutzerdefinierte Moderationsdurchsetzung.
Bedingungen
Stummgeschaltet, gebannt, versteckt, im Captcha
Dies sind Spielereigenschaftsbedingungen, sie unterstützen also die standardmäßige is / is not-Grammatik von Skript und Plural-Ziele.
%players% (is|are) muted
%players% (is|are) banned by verite
%players% (is|are) vanished in verite
%players% (is|are) in a captcha| Musterwurzel | Bedeutung | Gestützt auf |
|---|---|---|
muted |
Spieler hat eine aktive Verité-Stummschaltung. Reines Lesen, sendet nichts. | VeriteModeration.isMuted |
banned by verite |
Spieler hat einen aktiven Verité-Bann. | VeriteModeration.isBanned |
vanished in verite |
Spieler ist durch Mitarbeiter-Vanish versteckt. | VeriteVanish.isVanished |
in a captcha |
Spieler löst gerade eine Captcha-Herausforderung. | VeriteCaptcha.isActive |
on chat:
if player is in a captcha:
cancel eventChat-Freeze und Slowmode
chat is frozen [for %-player%]
%player% is rate limited
%player% is on slowmodeis rate limited und is on slowmode sind zwei Formulierungen derselben Slowmode-Prüfung. Alle drei bilden die Moderations-Gates ab und senden dem Spieler als Nebeneffekt einen Hinweis, verwende sie also in einem Chat-Handler, in dem du die Nachricht stoppen willst, nicht nur, um den Zustand zu lesen. chat is frozen bildet VeriteModeration.chatMuteGate ab; die Slowmode-Formulierungen bilden VeriteModeration.slowmodeGate ab.
on chat:
if chat is frozen for player:
cancel event
else if player is on slowmode:
cancel eventText vom Filter blockiert
%string% (was|is|are) blocked [for %-player%]
%string% (wasn't|was not|isn't|is not|aren't|are not) blocked [for %-player%]Ohne einen Spieler ist es eine reine Klassifizierung, die nichts aufzeichnet, sicher für das Scannen von Schildern, Buchtiteln oder Amboss-Umbenennungen. Mit for %player% zeichnet es zusätzlich den Treffer gegen diesen Spieler auf, passend zur Live-Chatfilterung. Dies meldet nur, ob der Text blockiert ist; verwende den Filterergebnis-Ausdruck unten, um Vulgärsprache von Selbstverletzung oder Missbrauch zu unterscheiden. Gestützt auf VeriteFilter. Siehe Integration benutzerdefinierter Chat-Systeme.
Strafe verhängt oder entfernt
Verwendbar innerhalb des verite punishment-Ereignisses, um eine Verhängung von einer Entfernung zu unterscheiden.
[the] verite punishment was removed
[the] verite punishment was (not removed|issued)Liest das Entfernt-Flag aus dem aktuellen Ereignis. Außerhalb des Ereignisses ist es immer false.
Effekte
Eine Strafe verhängen
verite ban %player% [for %-timespan%] [(with reason|for) %-string%] [by %-player%] [silent:silently]
verite mute %player% [for %-timespan%] [(with reason|for) %-string%] [by %-player%] [silent:silently]
verite kick %player% [(with reason|for) %-string%] [by %-player%] [silent:silently]
verite warn %player% [(with reason|for) %-string%] [by %-player%] [silent:silently]Ein Timespan macht einen Bann oder eine Stummschaltung temporär; wird er weggelassen, wird sie dauerhaft. Kick und Warn nehmen keinen Timespan. by %player% setzt den Ausführenden; weggelassen, wird die Strafe als Konsole verhängt. Ein abschließendes silently setzt das Silent-Flag, sodass die Strafe nicht verbreitet wird. Das Ziel muss ein Online-Spieler sein, da der Effekt die UUID und den Namen daraus auflöst. Gestützt auf VeriteModeration.ban / mute / kick / warn.
verite ban player for 7 days with reason "spam" by {_staff} silently
verite warn player for "first offence"Eine Strafe aufheben
verite unban %player% [(with reason|for) %-string%] [by %-player%]
verite unmute %player% [(with reason|for) %-string%] [by %-player%]
verite unwarn %player% [(with reason|for) %-string%] [by %-player%]by %player% zeichnet auf, wer sie aufgehoben hat; weggelassen, wird es als Konsole aufgezeichnet. Das Ziel muss online sein. Gestützt auf VeriteModeration.unban / unmute / unwarn.
Text scannen und die Meldung aufzeichnen
check %string% for %player%Lässt eine Nachricht durch den Filter laufen und zeichnet jeden Treffer gegen den Spieler auf, genau wie die Live-Chatfilterung, ohne das Urteil zurückzugeben. Dies ist der Fire-and-Forget-Begleiter zur blocked-Bedingung und zum Filterergebnis-Ausdruck. Gestützt auf VeriteFilter.check.
Eine Captcha-Herausforderung ausstellen
challenge %player% with [a] captcha [(with reason|for|from) %-string%]
challenge %player% with [a] detailed captcha [(with reason|for|from) %-string%]Startet sofort eine Standard- oder detaillierte Herausforderung, versehen mit einem optionalen Quell-Label, das aufzeichnet, warum sie geöffnet wurde. Das Label ist standardmäßig ein generischer Wert, wenn es weggelassen wird. Gestützt auf VeriteCaptcha.challengeStandard / challengeDetailed.
Server-Lockdown
begin message lockdown [(with reason|for) %-string%]
end message lockdownRiegelt den Server hinter einem Lockdown mit einem optionalen Grund ab oder hebt ihn auf. Der Grund ist standardmäßig ein generisches Label. Gestützt auf VeriteLockdown.begin / end. Siehe Benutzerdefinierte Moderationsdurchsetzung.
Ausdrücke
Filterergebnis einer Nachricht
filter [the] result of %string% [for %-player%]Gibt die Klassifizierung des Filters als kleingeschriebenen String zurück: clean, block, profanity, self_harm oder abuse. Dies ist die einzige Filtersyntax, die die Unterscheidung zwischen gewöhnlichen blockierten Inhalten und einem Sprecher, der sich in einer Krise befinden oder geschädigt werden könnte, bewahrt, leite also self_harm und abuse an eine Fürsorge-Reaktion statt an eine Strafe. Ohne einen Spieler zeichnet es nichts auf; mit for %player% zeichnet es zusätzlich den Treffer auf. Gestützt auf VeriteFilter.check und FilterResult.
set {_result} to filter the result of {_msg} for player
if {_result} is "self_harm" or {_result} is "abuse":
# handle with care, do not punish
stop
if {_result} is not "clean":
send block message to player
stopFilter-Blockmeldung
block messageGibt die konfigurierte Meldung zurück, die angezeigt wird, wenn eine Chatnachricht blockiert wird. Gestützt auf VeriteFilter.blockMessage.
Filter-Meldungsanzahl
[get] message flags (for|of) %player%Gibt zurück, wie oft der Filter einen Spieler markiert hat. Gibt 0 für einen Spieler ohne Datensatz zurück. Gestützt auf VeriteFilter.count.
Details eines aktiven Banns oder einer Stummschaltung
[get] [verite] ban status of %player% [reason:with reason]
[get] [verite] mute status of %player% [reason:with reason]Ohne with reason gibt der Ausdruck die verbleibende Zeit in Millisekunden zurück oder -1 für eine dauerhafte Strafe. Mit with reason gibt er den Strafgrundtext zurück. Gibt nichts zurück, wenn es keine aktive Strafe dieser Art gibt. Gestützt auf VeriteModeration.activeBan / activeMute.
set {_left} to verite ban status of player
set {_why} to verite ban status of player with reasonFelder eines Strafwerts
[get] punishment type of %veritepunishment%
[get] punishment reason of %veritepunishment%
[get] punishment target uuid of %veritepunishment%
[get] punishment target ip of %veritepunishment%
[get] punishment executor name of %veritepunishment%
[get] punishment removed by name of %veritepunishment%
[get] punishment removal reason of %veritepunishment%
[get] punishment length of %veritepunishment%Liest ein Feld aus einem Verité-Strafwert, am nützlichsten innerhalb des verite punishment-Ereignisses. type ist der kleingeschriebene Straftyp (ban, mute, warning, kick). target uuid ist die UUID des betroffenen Spielers als String oder nichts für eine IP-bezogene Strafe. length ist die Gesamtdauer in Millisekunden oder -1 für eine dauerhafte Strafe. Gestützt auf die öffentlichen Punishment-Accessoren.
Vanish-Zustand
Eine setzbare boolesche Eigenschaft.
[the] vanish state of %players%
%players%'s vanish stateDas Lesen gibt zurück, ob der Spieler versteckt ist. Das Setzen auf true versteckt ihn, false macht ihn sichtbar. Nur der Set-Änderungsmodus wird unterstützt. Gestützt auf VeriteVanish.isVanished / vanish / unvanish.
set vanish state of player to trueBekannte Namens- und UUID-Abfragen
[get] [verite] name of %player%
[get] [verite] uuid of %string%name of gibt den letzten bekannten Benutzernamen zurück, den Verité für einen Spieler aufgezeichnet hat. uuid of löst einen Benutzernamen zu der UUID auf, die Verité zuletzt dafür aufgezeichnet hat (als String), was für Offline- oder nie online gewesene Namen in Verités Verzeichnis funktioniert. Beide geben nichts zurück, wenn unbekannt. Gestützt auf VeritePlayerData.nameOf / uuidByName.
GeoIP-Land
[get] country of %string%Gibt den Ländernamen zurück, den Verité für einen IP-String auflöst, oder nichts, wenn die IP nicht aufgelöst werden kann, die Datenbank nicht verfügbar ist oder die Adresse privat ist. Gestützt auf VeriteGeoIp.country.
Fancy Time
[get] fancy time of %number%Formatiert eine Millisekundenzahl als menschenlesbare Dauer in Verités eigenem Stil, passend zum Wortlaut, den das Plugin für Strafdauern und verbleibende Zeiten verwendet. Gestützt auf VeriteFormat.fancyTime.
Ereignis
Verité registriert ein Bukkit-Ereignis, damit Skripte auf Strafen reagieren können.
on verite punishment:Das Ereignis wird ausgelöst, wenn eine Strafe verhängt wird und wenn eine aufgehoben, begnadigt oder abgelaufen ist. Verwende die Bedingung verite punishment was removed / was issued, um die beiden zu unterscheiden, und die Straffeld-Ausdrücke, um den Datensatz zu lesen.
on verite punishment:
if the verite punishment was issued:
broadcast "%punishment executor name of event-punishment% punished someone"Ereigniswerte
Innerhalb des verite punishment-Ereignisses wird die Strafe als Ereigniswert bereitgestellt.
| Ereigniswert | Typ | Bedeutung |
|---|---|---|
event-punishment |
Verite Punishment | Die Strafe, die verhängt oder aufgehoben wurde. |
Der Typ Verite Punishment ist unter dem Muster (verite ?)?punishments? registriert, sodass sowohl punishment als auch verite punishment ihn benennen. Lies seine Felder mit den Straffeld-Ausdrücken oben.