Uro

Uro

0
1

Uro is a Configurable Discord Moderation with Controlled Setup, Audit Logs, and Escalating Punishments


Uro

Uro is a Discord moderation and server-management bot designed around controlled setup, configurable punishment workflows, and clear staff audit trails.

Most moderation features are disabled by default. This is intentional. Uro does not assume every server wants the same moderation setup, log channels, mute behavior, warning policy, or permission model.

Before Uro is fully used, administrators should configure the bot, enable the commands they want, and decide how punishment and permission handling should work.

Uro is built around:

• Guild-specific configuration
• Disabled-by-default moderation commands
• Configurable punishment logging
• Role-based or timeout-based mutes
• Optional warning acknowledgement enforcement
• Escalating punishment groups
• Role-based access control
• Clear punishment history and audit records

Configuration

Uro behavior is controlled through server configuration.

Available configuration keys:

DEBUG_LEVEL
PREFIX
BAN_LOG_CHANNEL
JOIN_LOG_CHANNEL
KICK_LOG_CHANNEL
LEAVE_LOG_CHANNEL
MSG_DEL_CHANNEL
MSG_UPDATE_CHANNEL
MSG_BULK_DEL_CHANNEL
MUTE_LOG_CHANNEL
UNBAN_LOG_CHANNEL
UNMUTE_LOG_CHANNEL
WARN_LOG_CHANNEL
WARN_ACK_LOG_CHANNEL
MUTE_ROLE
MUTE_METHOD
BOT_LOG_CHANNEL
PUNISHMENT_EXPIRE_TIME_MS
WARN_GRACE_PERIOD
WARN_MUTE_TIME
WARN_METHOD

Example:

u!config set prefix u!
u!config set warn_log_channel #warn-logs
u!config enable warn_log_channel

Some configuration values must be enabled before Uro uses them.

Some configurations cannot be disabled because they are required for core bot behavior.


Mute Configuration

Uro supports two mute methods:

ROLE
TIMEOUT

TIMEOUT uses Discord’s built-in timeout system.

u!config set mute_method timeout
u!config enable mute_method

ROLE uses a configured mute role.

u!config set mute_role @Muted
u!config enable mute_role

u!config set mute_method role
u!config enable mute_method

To enable MUTE_METHOD as ROLE, the mute role must already be configured and enabled.

Role-based mutes require:

• MUTE_ROLE configured
• MUTE_ROLE enabled
• Bot has Manage Roles permission
• Bot role is above the mute role
• Bot can interact with the target user

Role-based mute is required for permanent mutes.


Warning Acknowledgement

Uro can require users to acknowledge warnings.

When acknowledgement mode is enabled, warned users must run the acknowledge command before the grace period expires. If they do not, Uro can automatically mute them.

Required configuration:

WARN_METHOD
WARN_GRACE_PERIOD
WARN_MUTE_TIME
MUTE_METHOD

If MUTE_METHOD is ROLE, then MUTE_ROLE must also be configured and enabled.

Example:

u!config set warn_grace_period 24h
u!config enable warn_grace_period

u!config set warn_mute_time 1h
u!config enable warn_mute_time

u!config set mute_method timeout
u!config enable mute_method

u!config set warn_method acknowledgement
u!config enable warn_method

WARN_METHOD can only be enabled as ACKNOWLEDGEMENT after all required settings are established.

The ACKNOWLEDGE command must also be enabled, or users will not be able to acknowledge warnings.

u!command enable acknowledge

Warning acknowledgement records can include:

Punishment Record ID
User
Staff Member
Punishment
Punishment Duration
Reason
Acknowledgement Required
Acknowledgement Code
Acknowledgement Grace Period
Acknowledge By
Mute duration if acknowledgement fails
Mute date if acknowledgement fails

If acknowledgement is not required, acknowledgement-specific fields are not shown.


Commands

Most commands are disabled by default and must be enabled before use.

Some commands cannot be disabled because they are required for setup or core bot operation.

Available commands:

PERMISSION    Used to manage bot permission groups
HELP          Shows help information
BAN           Bans a user from a server
MUTE          Mutes a user for a set amount of time
KICK          Kicks a user from the server
WARN          Warns a user
UNBAN         Unbans a user from the guild
UNMUTE        Unmutes a user
PUNISH        Punishes a user with a predefined punishment
CONFIG        Used to control how the bot operates
RELOAD        Used to reload the cache
PUNISHMENT    Used to manage punishment definitions
MODLOGS       Used to view someone's punishment history
COMMAND       Manages all commands
CATEGORY      Manages all categories
ACKNOWLEDGE   Allows a user to acknowledge a warning

Enable a command:

u!command enable warn

Enable a category:

u!category enable punishment_management

Punishment System

Uro supports predefined punishment groups.

A punishment group lets staff apply a rule violation, and Uro determines the correct punishment tier based on the user’s history.

Example:

Punishment Group: Spamming

Tier 1: Warn
Tier 2: 15-minute mute
Tier 3: 30-minute mute
Tier 4: 1-hour mute
Tier 5: Permanent mute

Setup example:

u!command enable punishment
u!command enable punish

u!punishment create spamming
u!punishment tier create spamming warn 0
u!punishment tier create spamming mute 15m
u!punishment tier create spamming mute 30m
u!punishment tier create spamming mute 1h
u!punishment tier create spamming mute 0
u!punishment enable spamming

Use the punishment group:

u!punish @User spamming

Punishment groups must be enabled before they can be used.


Punishment Expiration

PUNISHMENT_EXPIRE_TIME_MS controls how long a user stays at their current punishment tier for a punishment group.

Example:

PUNISHMENT_EXPIRE_TIME_MS = 7d

If a user reaches Tier 2 for spamming but avoids another spamming punishment until the expiration period passes, their next spamming punishment starts again at Tier 1.

This allows punishment escalation to cool down over time.

Temporary punishments, such as temporary mutes, can also expire automatically when their duration ends.


Role-Based Access Control

Uro includes permission groups for controlling who can use specific commands and punishment groups.

A permission group can include:

• Commands
• Discord roles
• Punishment groups

Example:

u!command enable permission

u!permission group create moderator
u!permission command add moderator warn
u!permission command add moderator mute
u!permission command add moderator punish
u!permission punishment add moderator spamming
u!permission role add moderator @Moderator
u!permission enable moderator

Permission groups must be enabled before they grant access.

This allows staff roles to use specific Uro features without giving them broad Discord permissions directly.


Recommended Setup Order

1. Set the prefix.
2. Configure log channels.
3. Configure mute behavior.
4. Configure warning acknowledgement if needed.
5. Enable required commands.
6. Create punishment groups.
7. Enable punishment groups.
8. Create permission groups.
9. Enable permission groups.
10. Test with a restricted staff role.

Notes

• Most commands are disabled by default.
• Some commands and configurations cannot be disabled.
• Most configuration values must be enabled before use.
• MUTE_METHOD ROLE requires MUTE_ROLE first.
• WARN_METHOD ACKNOWLEDGEMENT requires its prerequisites first.
• ACKNOWLEDGE must be enabled for users to acknowledge warnings.
• Punishment groups must be enabled before use.
• Permission groups must be enabled before they grant access.

Uro is designed for servers that want moderation to be configurable, controlled, and easy to audit.

Ratings & Reviews


0

0 reviews

Reviews can be left only by registered users. All reviews are moderated by Top.gg moderators. Please make sure to check our guidelines before posting.

5 stars

0

4 stars

0

3 stars

0

2 stars

0

1 star

0



No reviews here yet!