Overview
The Image Mute system lets moderators restrict a user from posting images and attachments across all channels. It works by assigning a dedicated role with deny overwrites applied to every channel, and by stripping any existing roles that grant image permissions — ensuring the mute cannot be bypassed through role stacking. The system is persistent across restarts, supports timed mutes with automatic expiry, and re-applies the mute role if it is manually removed.Setup
Before using image mute, the system must be configured for your server. This creates theImage Muted role and applies deny overwrites to every text channel automatically.
Reset will unmute every currently muted user and restore their stripped roles before deleting the
Image Muted role.Commands
imagemute
imagemute
Apply an image mute to a user, optionally with a duration and reason.Aliases:
imute
Permissions: Moderate Members
Setup permissions: Administratorimageunmute
imageunmute
Remove an image mute from a user and restore their previously stripped roles.Aliases:
iunmute
Permissions: Moderate MembersDuration Format
Timed mutes automatically expire and restore the user’s roles when the duration runs out. The following time units are supported:| Unit | Examples |
|---|---|
| Seconds | 30s, 30sec, 30seconds |
| Minutes | 10m, 10min, 10minutes |
| Hours | 2h, 2hr, 2hours |
| Days | 7d, 7day, 7days |
| Weeks | 1w, 1week, 1weeks |
iunmute.
How It Works
Role creation
imute setup creates an Image Muted role and applies AttachFiles: false and EmbedLinks: false overwrites to every text channel in the server.Role stripping
When a mute is applied, any roles the user holds that grant image permissions (attach files, embed links, or administrator) are stripped and saved for later restoration.
Mute role assigned
The
Image Muted role is added to the user, enforcing the channel-level deny overwrites.Enforcement
If someone manually removes the
Image Muted role or grants the user an image-permission role while muted, Celestia automatically re-applies the mute and strips the offending role.Role Stripping
To prevent mute bypasses, the system strips any role that grants image posting permissions at the guild or channel level. This includes roles with:Attach FilesEmbed LinksAdministrator
Persistence and Enforcement
The system actively enforces mutes beyond just role assignment:- Startup recovery - On bot restart, mutes stored in the database are re-applied to any users missing the role, and any image-permission roles gained while the bot was offline are stripped.
- Manual removal prevention - If the
Image Mutedrole is manually removed from a user by a moderator or admin, Celestia will immediately re-add it. - Role grant prevention - If a muted user is given a role that grants image permissions, that role is automatically stripped.
- New channel sync - Any new channel created while the system is active automatically receives the correct overwrites for the
Image Mutedrole.
Mod Log Integration
Every image mute and unmute action is recorded as a mod case. Logs include:- The acting moderator
- The target user
- The reason provided
- The duration (if timed)
Image mute duration expired as the reason.
Hierarchy Requirements
Bot role position
Celestia’s role must be above any role it needs to strip or assign. Roles above Celestia cannot be stripped.
Moderator position
You cannot image mute a user whose highest role is equal to or above your own highest role.
The server owner cannot be image muted.