-
Notifications
You must be signed in to change notification settings - Fork 195
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
zay
committed
Dec 29, 2023
1 parent
233a803
commit 365bd90
Showing
1 changed file
with
114 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,114 +1,152 @@ | ||
<template> | ||
<div> | ||
<h1>Moderation</h1> | ||
<header> | ||
<h1>Moderation</h1> | ||
<p> | ||
Moderation in Zeppelin is multi-layered. On top of typical actions such | ||
as warning, muting, kicking, and banning, Zeppelin allows moderators to | ||
utilise flags; create alerts; set thresholds; and act as others. | ||
</p> | ||
<p> | ||
This guide explains the options available in the | ||
<router-link to="/docs/plugins/modactions"> Mod actions</router-link> | ||
plugin. To best use this guide, read the default configuration of the | ||
Mod actions plugin alongside this. This plugin does | ||
<strong>not</strong> cover muting members, please see the | ||
<router-link to="/docs/plugins/mutes">Mutes</router-link> plugin. | ||
</p> | ||
<p> | ||
Please ensure you understand how | ||
<router-link to="/docs/plugins/plugin-configuration">plugin | ||
configuration</router-link> and | ||
<router-link to="/docs/configuration/permissions">plugin | ||
permissions </router-link>work before reading this guide since | ||
the configs defined here rely on your these concepts. | ||
</p> | ||
</header> | ||
|
||
<h2>Moderation Commands</h2> | ||
<p> | ||
Moderation in Zeppelin is multi-layered, with 'typical' actions such as warning, muting, kicking, banning, | ||
etc. Featuring flags, moderation advances to allow for alerts, thresholds, acting as others, and the creation of | ||
cases for context (right-click) actions. | ||
So that your moderators may use Zeppelin moderation, you must define the | ||
moderator role Id in the config and assign it a level (50). | ||
<CodeBlock code-lang="yaml" trim="start"> | ||
levels: | ||
"PRETEND-ROLE-ID": 50 # Mod | ||
|
||
plugins: | ||
... | ||
</CodeBlock> | ||
</p> | ||
<p> | ||
This guide will be expanded in the future. For now it covers how to setup the | ||
<router-link to="/docs/plugins/modactions"> Mod Actions plugin</router-link>. | ||
Each moderation command has a permission attached to it, so if your | ||
server has a hierarchical structure then you will be able to scope | ||
these permissions by referencing the plugins permissions page. | ||
</p> | ||
|
||
<h2>Sanction Notifications</h2> | ||
<p>These first config options define how Zeppelin will interact with the users sanctioned.</p> | ||
<p>These config options define how Zeppelin will interact with the | ||
members it sanctions (warns, kicks, bans).</p> | ||
|
||
<h3>DM Values</h3> | ||
<p> | ||
The values `dm_on_warn`, `dm_on_kick`, and `dm_on_ban` determine whether a user will be notified of their sanctions | ||
through DMs. Ignoring privacy settings, setting these to `true` will notify the user, and `false` keeps them in the | ||
dark. Note: `tempban` actions take the `ban` configuration. | ||
The values <code>dm_on_warn</code>, <code>dm_on_kick</code>, and | ||
<code>dm_on_ban</code> determine whether a member will be notified of | ||
their sanctions through DMs. Ignoring privacy settings, setting these to | ||
<code>true</code> will notify the member. Temporary banning uses the | ||
ban configuration. | ||
</p> | ||
|
||
<h3>Channel Values</h3> | ||
<p> | ||
The other set of notifying options `message_on_warn`, `message_on_kick`, and `message_on_ban` are similar to their | ||
`DM` counterparts, but, taking the value of `message_channel` they notify a channel instead. Note: `tempban` actions | ||
take the `ban` configuration. | ||
An alternative way to notify members about sanctions is through | ||
mentioning them in a message sent in a channel. To enable this feature, | ||
set <code>message_on_warn</code>, <code>message_on_kick</code>, and | ||
and <code>message_on_ban</code> to true (enabling them), then assign a | ||
<code>message_channel</code>. | ||
</p> | ||
|
||
<h4>Notifying messages</h4> | ||
<h3>Notifying messages</h3> | ||
<p> | ||
Both of these notifying options take the same message templates defined in `warn_message`, `kick_message`, and | ||
`ban_message`. In the official documentation, you will see these written as one line, you can make the messages | ||
multi-line like so: | ||
<CodeBlock code-lang="yaml"> | ||
plugins: | ||
mod_actions: | ||
config: | ||
warn_message: |- | ||
I am a | ||
multi-line message! | ||
</CodeBlock> | ||
|
||
However, the `tempban` action has its own message option that can be defined under `tempban_message`, it comes | ||
with an exciting new variable: `banTime`. | ||
This is how you control the exact wording the member receives. You can | ||
adjust the wording per sanction type. These variables are | ||
<code>warn_message</code>, <code>kick_message</code>, and | ||
<code>ban_message</code>. Please remember that YAML supports mutli-line | ||
strings, this is how you can write newlines in your messages. Notably, | ||
temporarily banning a member permits the inclusion of the | ||
<code>banTime</code> variable through <code>tempban_message</code>. | ||
</p> | ||
|
||
<h3>Summary Example</h3> | ||
Employing what we have learnt so far, we can write a configuration that: | ||
<ul> | ||
<li>Alerts members of their warns in a channel, instead of DMs.</li> | ||
<li>Alerts members of kicks and bans in their DMs.</li> | ||
<li>Makes use of multi-line strings to prepare a tidy message.</li> | ||
<li>Includes the remaining ban time if a ban was temporary.</li> | ||
</ul> | ||
<CodeBlock code-lang="yaml" trim="start"> | ||
plugins: | ||
mod_actions: | ||
config: | ||
dm_on_warn: false | ||
message_on_warn: true | ||
message_channel: "PRETEND-CHANNEL-ID" | ||
|
||
dm_on_kick: true | ||
|
||
dm_on_ban: true | ||
tempban_message: |- | ||
Dear {user.username}, | ||
|
||
As a result of {reason}, you have been banned from {guildName} | ||
for {banTime}. We welcome you back provided you do not do this | ||
again. | ||
</CodeBlock> | ||
|
||
<h2>Alerts</h2> | ||
<p> | ||
Alerts are a nifty way for your mod-team to be notified of actors trying to evade sanctions by leaving and | ||
re-joining your server. Define the channel in `alert_channel` and set `alert_on_rejoin` to `true`. | ||
Alerts are a nifty way for moderators to be notified of members trying to | ||
evade sanctions by promptly leaving and rejoining your server. To enable | ||
this feature, assign a channel in <code>alert_channel</code> and enable | ||
<code>alert_on_rejoin</code>. | ||
</p> | ||
<CodeBlock code-lang="yaml" trim="start"> | ||
plugins: | ||
mod_actions: | ||
config: | ||
alert_on_rejoin: true | ||
alert_channel: "PRETEND-CHANNEL-ID" | ||
</CodeBlock> | ||
|
||
<h2>Thresholds</h2> | ||
<p> | ||
Thresholds are useful for alerting moderators if a user is about to exceed a pre-determined number of cases. | ||
This can be used to make your mod team consider whether harsher action is necessary. Define the threshold in | ||
`warn_notify_threshold`, adjust the message under `warn_notify_message`, and enable `warn_notify_enabled`. | ||
Thresholds alert moderators if a member is about to exceed a | ||
predetermined number of cases, prompting moderators to consider whether | ||
alternative (harsher) action could be taken. To enable thresholds, | ||
assign the threshold as <code>warn_notify_threshold</code>, adjust the | ||
message under <code>warn_notify_message</code>, and enable | ||
<code>warn_notify_enabled</code>. | ||
</p> | ||
|
||
<h2>Ban Message Deletion</h2> | ||
<p> | ||
You can adjust the day's worth of messages Zeppelin deletes under the `ban_delete_message_days` option. Do not | ||
append your input with 'd'. | ||
Write your config cleverly, check the default values for | ||
<code>warn_notify_threshold</code> and <code>warn_notify_message</code>, | ||
if these are acceptable then all you need to do is enable | ||
<code>warn_notify_enabled</code>. | ||
</p> | ||
|
||
<h2>Moderation Commands</h2> | ||
<h2>Ban Message Deletion</h2> | ||
<p> | ||
Before reading this, you should read the | ||
<router-link to="/docs/configuration/permissions">Permission's page</router-link> before continuing to set up this | ||
plugin. | ||
|
||
Zeppelin has 5 core commands, `note`, `warn`, `mute`, `kick`, and `ban`; with `unban`, `view`, and `addcase` | ||
making 8. By default, these are disabled for users levelled 0, and enabled for users level 50 and above. | ||
|
||
This guide does not go into detail about how to use them at the moment, you can read a different guide for that | ||
<a href="https://docs.google.com/presentation/d/e/2PACX-1vQTFZW4NiJicngfAv36tLlWG5XjktVyZhljekOkzUyzsktwcNCH_Zm82Dm3r1c7S7vKOArJ6XIO5azC/pub?start=true&loop=false&delayms=60000&slide=id.gc6f9e470d_0_0"> here.</a> | ||
|
||
The | ||
<a href="https://zeppelin.gg/docs/plugins/mod_actions/configuration"> default configuration</a> | ||
outlines what permissions are available for those level 50 & level 100, this guide will explain how to adjust | ||
those permissions with overrides. | ||
|
||
In the example below, users levelled 50 and above are now able to hide cases. | ||
|
||
<Expandable class="wide"> | ||
<template v-slot:title>Click to view example</template> | ||
<template v-slot:content> | ||
<CodeBlock code-lang="yaml"> | ||
levels: | ||
"807693394393956422": 50 #Mod | ||
|
||
plugins: | ||
mod_actions: | ||
overrides: | ||
- level: ">=50" | ||
config: | ||
can_hidecase: true | ||
</CodeBlock> | ||
</template> | ||
</Expandable> | ||
When a member is banned, Zeppelin automatically deletes the last day of | ||
message history. You can extend this through the | ||
<code>ban_delete_message_days</code> option. | ||
</p> | ||
</div> | ||
</template> | ||
|
||
<script lang="ts"> | ||
import CodeBlock from "./CodeBlock.vue"; | ||
import Expandable from "../Expandable.vue"; | ||
import CodeBlock from "./CodeBlock.vue"; | ||
export default { | ||
components: {Expandable, CodeBlock }, | ||
}; | ||
export default { | ||
components: { CodeBlock }, | ||
}; | ||
</script> |