Skip to content

Commit

Permalink
Merge pull request #16 from SoggySaussages/moderation
Browse files Browse the repository at this point in the history
* docs/moderation: document moderation page

also initial work on documenting the main moderation commands in
subpages.

Signed-off-by: SoggySaussages <[email protected]>

* docs/moderation: typo and case fixes

---------

Signed-off-by: SoggySaussages <[email protected]>

Reviewed-by: Luca Zeuch <[email protected]>
Signed-off-by: Luca Zeuch <[email protected]>
  • Loading branch information
l-zeuch authored Mar 25, 2024
2 parents 4533c4b + 3621b8c commit 2f92690
Show file tree
Hide file tree
Showing 8 changed files with 147 additions and 0 deletions.
105 changes: 105 additions & 0 deletions content/moderation/moderation/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
+++
archetype = "chapter"
title = "Moderation"
weight = 1
+++

Everything in moderation, including moderation.

<!--more-->

![Overview of the moderation page](overview_moderation.png)

<center>

**1** Mod Log Channel **2** Report Channel **3** Moderation DM Error Channel **4** Clean Command **5** Report
Command **6** Unban Logging **7** Giverole/Takerole commands **8** Give/Takerole Permitted Roles **9**
Give/Takerole Logging **10** Foreign Ban Logging **11** Foreign Kick Logging **12** Foreign Timeout Logging **13**
Moderation Tabs **14** Bot Permissions Notice

</center>

## Moderation Page

The moderation page allows configuration of common settings.

### Mod Channels

1. **Mod Log** - The mod log is the channel YAGPDB will send log messages to when most moderation commands are used. It
includes username and user ID of both the moderator, and the moderated user. It additionally includes the reason for
relevant commands (defaults to `<no reason provided>` when not provided), and a [log](/moderation/logging) of the
channel where the command was run.
2. **Report** - The channel for YAGPDB to send report messages to when users use the report command. Similar to the mod
log, it includes username and user ID of the user reporting, and the user reported, as well as the reason and message
log of the channel.
3. **Moderation DM Error** - The channel where YAGPDB will send error messages from executing template script within
[moderation DMs](#moderation-dms).

### Command Toggles

Certain potentially destructive moderation commands are disabled by default. These commands are:

- The **clean command** (**4**) toggles the [clean command](/commands/all-commands#clean).
- The **report command** (**5**) toggles the [report command](/commands/all-commands#report).
- **Giverole/Takerole commands** (**7**) toggle the [giverole](/commands/all-commands#giverole) and
[takerole](/commands/all-commands#takerole) commands.

### Unban/Unmute Logging

When the `unban`/`unmute` commands are used, YAGPDB will log their usage to the [mod log](#mod-channels) similarly to
the other moderation commands, except without the logs.

When using the `ban` and `mute` commands with a duration, YAGPDB will essentially execute the inverse commands as itself
at the end of the duration. i.e, if you execute `ban @user 1d`, YAGPDB will ban the user, and 1 day later YAGPDB will
execute the `unban` command with reason "Timed ban expired." This action appears in the mod log as YAGPDB being the
moderator.

Toggling Unban Logging (**6**) allows you to enable or disable the logging of Unmute events.

Toggling Give/Takerole Logging (**9**) allows you to enable or disable the logging of Give/Takerole events.

### Foreign Logging

By default, YAGPDB will only log actions it takes, i.e. if you kick a user with the bot's `kick` command, it will log
it, but not if you kick the user directly with user. Enabling foreign logging for different moderation actions (**10**),
(**11**), (**12**) allows the bot to use the server Audit Log to retrieve moderation actions taken by other bots or
other users.

YAGPDB must have View Audit Log permissions to use this feature.

## Permissions Notice

The moderation plugin, among other plugins, requires additional permissions to function properly. The notice at the top
of the screen (**14**) will inform you of the required permissions for the plugin and alert you if the bot is missing
permissions.

## Moderation Commands

Each of the main moderation commands have individual configuration pages, accessible through the tabs (**13**). There
are common configuration options worth mentioning.

![Common Moderation Configuration](common_moderation_settings.png)

<center>

**1** Permitted Roles **2** Moderation DM

</center>

### Permitted Roles

Selecting permitted roles will allow said roles to run the moderation command **even if** they do not have
required Discord permissions.

Give/Takerole Permitted Roles (**8**) operate in the same way.

### Moderation DMs

Moderation DMs are template scripts which are executed within the offending user's DM. Text output to the response will
be directly sent to the offending user.

Any errors which occur in the template execution will not be logged by default. The offending user will only receive a
DM from your server saying **Failed executing template.** Setting a [Moderation DM Error channel](#mod-channels) allows
for the more detailed errors to not be lost.

{{%children containerstyle="div" style="h2" description="true" %}}
9 changes: 9 additions & 0 deletions content/moderation/moderation/ban.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
+++
title = 'Ban'
weight = 4
+++

Ban a user, preventing them from joining the server until unbanned, optionally deleting x previous days of their
messages from the server. Optionally unbans the user after a set duration.

<!--more-->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions content/moderation/moderation/kick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
+++
title = 'Kick'
weight = 3
+++

Removes a member from the server, optionally deleting x number of their previous messages on the server.

<!--more-->
9 changes: 9 additions & 0 deletions content/moderation/moderation/mute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
+++
title = 'Mute'
weight = 2
+++

Remove a user's ability to talk by assigning them a role with Send Message permissions denied in all channels.
Optionally unmutes the user after a set duration.

<!--more-->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions content/moderation/moderation/timeout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
+++
title = 'Timeout'
weight = 1
+++

Utilize Discord's builtin timeout feature to restrict a user's ability to send messages or add reactions.

<!--more-->
8 changes: 8 additions & 0 deletions content/moderation/moderation/warnings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
+++
title = 'Warnings'
weight = 5
+++

Warn a user, which DMs the user and adds the warning to the user's warning log.

<!--more-->

0 comments on commit 2f92690

Please sign in to comment.