This is an old revision of the document!
Table of Contents
Kicking and banning players
Available to the owner/admins and moderators from v6.7.33 in lobby chat and authorized staff Discord controls. The release is queued, not live at the October 10, 2026 review. Check the room version before relying on it.
Commands and scope
.kick exact username .ban exact username | harassment after warning .ban 12345678 | repeated misconduct .unban exact username .bans .bans 2
.kick affects only the selected room and does not prevent rejoining. .ban applies to all four project rooms, persists across restarts/relisting, and automatically removes that osu! user ID on entry. It is not an osu!-wide ban. .unban removes that policy; no occupied-room recreation is needed. .bans lists five entries per page, showing names and IDs rather than reasons.
Use an exact username, including spaces, or an osu! user ID. The bot checks known names before interpreting a numeric-looking name as an ID. An absent player can be banned by ID or a known name. The saved name can resolve a later unban even after they have left. Kick requires the player to be in the selected room. An optional ban reason follows a literal | and is limited to 200 characters.
Permissions and safety
Configured osu! moderators/admins and authorized Discord MOD/ADMIN roles have the same four commands. Wiki editing permissions confer no bot access. Bot, referee, administrator and moderator accounts cannot be kicked or banned through these commands. Ordinary players cannot invoke them.
Banned players cannot use player commands or count toward gameplay votes. The bot saves a ban before attempting removal, records who changed it and the originating room, and serializes shared-file writes. It does not assume a successful request is a confirmed departure. An unknown kick outcome requires checking the actual roster before retrying; automated enforcement waits for new presence evidence rather than blindly repeating it.
For a manual kick, Kick requested means a referee removal request was accepted, not that a leave event has already been observed. Kick outcome unconfirmed means check the roster and recovery state. A ban may be saved even if removal is delayed by a connection outage. Inspect .bans and the room rather than issuing repeated actions.
The private persistent JSON policy is configured by moderation_bans_file. Local workers check for updates about every two seconds. Watching the file does not add osu! polling; an actual kick is a referee operation. Invalid updates preserve the last valid list and refuse new moderation changes. Reasons/audit records are operational data: do not paste private evidence or credentials into a public lobby command.
Community policy
Public lobbies are for everyone. Harassing or coercing another player to leave so someone can control the bot alone is not acceptable. Players do not have to leave because another player demands it; report incidents to the owner or a moderator. Enforcement is a staff decision, not an automatic classification of chat.
Roles · Discord controls · Release and availability · Moderator handbook