Uro is a Configurable Discord Moderation with Controlled Setup, Audit Logs, and Escalating Punishments
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
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.
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.
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.
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
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_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.
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.
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.
• 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.
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!