Skip to main content

Overview

The rule command is a base command that provides subcommands for managing server rules. It allows administrators to add, remove, edit, list, retrieve, and post server rules.
Most operations require elevated permissions, but viewing rules (list and get) is available to all users.

Subcommands

The rule command has the following subcommands:

Subcommand: add

Add a new rule to the server’s rule database.

Signature

/rule add <text>

Parameters

text
String
required
The text content of the new rule

Permissions Required

Requires staff role permissions or administrator status (semester moderator, staff role, or Discord administrator)

Usage Example

/rule add Be respectful to all members at all times
Source reference: src/commands/administration.rs:244-290

Subcommand: remove

Remove an existing rule by its number.

Signature

/rule remove <number>

Parameters

number
Integer
required
The rule number to remove

Permissions Required

Requires staff role permissions or administrator status (semester moderator, staff role, or Discord administrator)

Usage Example

/rule remove 5
Response:
[Embed]
Title: Regel entfernt
Description: Regel 5 entfernt
Source reference: src/commands/administration.rs:292-326

Subcommand: edit

Edit the text of an existing rule.

Signature

/rule edit <number> <text>

Parameters

number
Integer
required
The rule number to edit
text
String
required
The new text for the rule

Permissions Required

Requires staff role permissions or administrator status (semester moderator, staff role, or Discord administrator)

Usage Example

/rule edit 3 Keep conversations in appropriate channels
Response:
[Embed]
Title: Regel bearbeitet
Description: Regel 3 bearbeitet
Source reference: src/commands/administration.rs:402-438

Subcommand: list

Display all server rules. This command is available to all users.

Signature

/rule list

Parameters

This command takes no parameters.

Permissions Required

None - available to all server members.

Usage Example

/rule list
Response:
[Embed]
Title: Regeln
Description:
1: Be respectful to all members
2: No spam or self-promotion
3: Keep conversations in appropriate channels
4: Follow Discord's Terms of Service
Source reference: src/commands/administration.rs:328-363

Subcommand: get

Retrieve and display a specific rule by its number. Available to all users.

Signature

/rule get <number>

Parameters

number
Integer
required
The rule number to retrieve

Permissions Required

None - available to all server members.

Usage Example

/rule get 2
Response:
[Embed]
Title: Regel
Description: 2: No spam or self-promotion
Source reference: src/commands/administration.rs:365-400

Subcommand: post

Post a formatted rules embed to a specified channel (or the default rules channel).

Signature

/rule post [channel]

Parameters

channel
Channel
Optional text channel to post the rules in. If not specified, uses the configured rules channel.

Permissions Required

Requires staff role permissions or administrator status (semester moderator, staff role, or Discord administrator)

Usage Examples

Post to default rules channel:
/rule post
Post to specific channel:
/rule post #server-info
Source reference: src/commands/administration.rs:440-487

Implementation Details

Rule Numbering

When adding a new rule, the system:
  1. Queries the database for the highest existing rule number
  2. Assigns the new rule a number that is one higher
  3. If no rules exist, starts at rule number 1

Database Structure

Rules are stored in the rules table with the following structure:
  • rule_number - Integer, the rule’s number
  • rule_text - Text, the content of the rule

Permission Check Function

Most rule subcommands use the executor_is_dev_or_admin permission check (src/commands/administration.rs:4-24) which verifies:
  1. User has semester moderator role
  2. OR user has staff role
  3. OR user has Discord administrator permission

Use Cases

  • Creating and maintaining server rules
  • Updating outdated rules
  • Removing rules that are no longer relevant
  • Posting rules in onboarding or information channels
  • Allowing users to reference specific rules during moderation

Build docs developers (and LLMs) love