Command permissions and parameters
Caller access, required parameters, optional parameters, defaults, and Discord prerequisites for TiaraBot commands.
This page lists the authorization TiaraBot checks for the person running each command. Discord must also allow TiaraBot to view and send messages in the selected channels.
Permission labels
| Label | Requirement |
|---|---|
| Any Discord user | No TiaraBot monitor role or Discord management permission is required. |
| Self | The command can read your own record. Looking up another person requires a configured monitor role. |
| Monitor | You must hold one of the target server's TiaraBot monitor roles. A member with Manage Server is not automatically treated as a monitor unless they hold a role. |
| Monitor or Manage Server | You must hold a configured TiaraBot monitor role or have Discord's Manage Server permission in the target server. |
| Manage server | You must have Discord's Manage Server permission or Administrator in the target server. A TiaraBot monitor role alone is not enough. |
| Check-in filler | You must be one of the fillers recorded on that check-in prompt. |
| Original submitter | You must be the Discord account that sent the team submission. |
Monitor roles are registered with /server add monitor_role. Manage Server is called Manage Guild in some Discord API output.
Schedule, slots, teams, and status
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/schedule list | Self. Monitor when user is another person. | day | user, server_id |
/fillers list | Monitor. | channel_name, start_hour, finish_hour | server_id |
/slot list | Any Discord user for ephemeral. Monitor for persistent. | day | server_id, message_type |
/slot button | Monitor. | day | server_id |
/slot remove | Monitor. | None | server_id |
/team list | Self. Monitor when user is another person. | None | user, server_id |
/screenshot | Monitor. | channel_name, day | server_id |
/status | Any Discord user. | None | None |
/slot list defaults to an ephemeral response. Set message_type to persistent only when the result should remain in the channel. /screenshot returns an image of the configured schedule-sheet range. Its channel_name is the logical running-channel name stored in TiaraBot, not a Discord channel mention.
For every channel_name option, start typing and choose the autocomplete result for the configured running channel. The suggestion inserts the logical name expected by TiaraBot.
/fillers list returns each unique filler scheduled in the selected running channel from
start_hour through finish_hour, inclusive. TiaraBot reads Fill cells, skips blanks and break
rows, includes rows that are not yet publicly visible, and collapses repeated assignments for the same linked
account. The result is a fenced code block. Linked accounts appear as raw Discord user mention
tokens such as <@123456789012345678>. Copy the lines from the code block and paste them into a
Discord message to mention those fillers. The command does not ping anyone in its own response.
When a sheet name maps to multiple accounts, TiaraBot cannot identify the account safely and shows
the sheet name instead. If the list is too large for the response or an unresolved name contains a
code fence, TiaraBot attaches the complete list as fillers.txt, with one mention token or
unresolved name per line. The command does not include Overfill or Standby entries and does not
change the schedule.
Sheet configuration
All /sheet commands require Manage server or Administrator access. The export and import
commands work with the portable tiarastack.sheet-configuration JSON format used by SheetWeb.
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/sheet export | Manage server | None | server_id |
/sheet import | Manage server | file, confirm | server_id |
/sheet list | Manage server | None | server_id |
/sheet set | Manage server | spreadsheet_id | server_id |
/sheet edit_scalar | Manage server | field | entry_id, text, number, server_id |
/sheet edit_range | Manage server | field, range | entry_id, server_id |
/sheet edit_entry | Manage server | collection, action | entry_id, position, confirm, server_id |
/sheet save | Manage server | None | server_id |
/sheet activate | Manage server | revision_id | server_id |
/sheet rollback | Manage server | revision_id | server_id |
/sheet discard | Manage server | None | server_id |
Run /sheet import with confirm:false first. TiaraBot checks the attachment and shows a preview
without writing. Run it again with confirm:true to replace the saved draft. The active source
remains unchanged until a separate save and activation step. TiaraBot accepts JSON files up to 1 MiB
from Discord's attachment CDN. It rejects malformed files and configuration validation errors before
the draft workflow starts.
The bot cannot export or import while the legacy source is active. Use the SheetWeb editor to import the legacy Settings tab, then use an owned web configuration for bot-side file transfers. See the SheetWeb configuration guide for the full lifecycle and range preview.
Check-in and room operations
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/checkin manual | Monitor. | None | channel_name, hour, server_id, template |
/checkin saved | Monitor or Manage Server. | hour | channel_name, server_id |
/checkin test_auto | Monitor. | None | server_id, hour |
/room_order manual | Monitor. | None | channel_name, hour, heal, server_id |
/kick manual | Monitor. | None | hour, channel_name, server_id |
When channel_name is omitted, the manual check-in, room-order, and kick commands use the current Discord channel to resolve the running room. The optional template on /checkin manual is an advanced Handlebars message template. The optional heal value tells room order how many healer positions are needed.
/checkin saved opens a native one-hour editor for the selected running channel and event-relative hour. The template supports {{mentionsString}}, {{conversationString}}, {{hourString}}, and {{timeStampString}}; all are optional. Submit a blank value to restore the Random default. TiaraBot rejects an outdated save without applying it, so the draft can be reviewed and submitted again.
See Configure hourly check-in messages for the cross-client workflow and message selection rules.
For automatic-check-in servers, TiaraBot cleans each configured running channel’s lockdown role at minute 15. /kick manual is the fallback for ad-hoc cleanup and is useful only when the running channel has a configured lockdown role. TiaraBot rejects the command from minute 40 through minute 59 so fillers scheduled through minute 00 of the next hour are not removed early.
Personal DM preferences
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/preference checkin-dm status | Any Discord user. | None | platform |
/preference checkin-dm enable | Any Discord user. | None | platform, client_id |
/preference checkin-dm disable | Any Discord user. | None | platform |
/preference monitor-dm status | Any Discord user. | None | platform |
/preference monitor-dm enable | Any Discord user. | None | platform, client_id |
/preference monitor-dm disable | Any Discord user. | None | platform |
/preference dm client | Any Discord user. | client_id | platform |
platform currently supports discord and defaults to it. On either enable command, client_id defaults to the current TiaraBot client. Monitor DMs matter only when you are assigned as moni even though anyone can configure their own preference.
Event server settings
All /server commands require Manage Server or Administrator in the target server.
The same fields are available from a server's Dashboard → Settings → Server page with the
same permission requirement, including the optional Update announcement channel setting.
Configure the field there or with the slash commands below.
| Command | Required parameters | Optional parameters |
|---|---|---|
/server list_config | None | server_id |
/server add monitor_role | role | server_id |
/server remove monitor_role | role | server_id |
/server set sheet | sheet_id | server_id |
/server set auto_checkin | auto_checkin | server_id |
/server set monitor_channel | channel | server_id |
/server set announcement_channel | channel | server_id |
/server unset monitor_channel | None | server_id |
/server unset announcement_channel | None | server_id |
auto_checkin is a required true or false choice. Turning it off does not prevent manual check-ins. Mana/moni can continue to use /checkin manual with server-chosen timing.
monitor_channel is the shared destination for automatic monitor summaries and handoff check-ins.
It cannot be a running channel. TiaraBot must be able to view and send messages in it. Unsetting it
restores the legacy automatic summary behavior; manual check-in is unaffected.
announcement_channel is the optional destination for TiaraBot product and service updates. Set it
to a text or announcement channel where TiaraBot can view and send messages. Unsetting it preserves
the default update-announcement routing: the Discord system channel, then #general, then the
first sendable text or announcement channel. If the configured channel is unavailable or cannot
accept a message, TiaraBot does not silently use a different channel.
The update-announcements flag remains the delivery gate. The flag must be enabled for updates to
be sent, whether or not announcement_channel is configured. Channel configuration does not opt a
server in or out of the feed.
Feature-flag controls
Only the TiaraBot application owner can change server feature flags. These commands require the target server's Discord ID because the owner may run them from a direct message or without being a member of the target server.
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/feature_flag enable | TiaraBot owner only | flag_name, server_id | None |
/feature_flag disable | TiaraBot owner only | flag_name, server_id | None |
After the workflow commits the change, TiaraBot posts an enabled or disabled announcement in the target server's first available sendable channel.
Running-channel settings
Channel configuration commands require Manage Server or Administrator in the target server. Lockdown setup and undo allow either a configured monitor role or Manage Server. The Dashboard → Settings → Channels page provides the same configuration and lockdown operations. Monitor-role users can select a channel and run lockdown actions there, but cannot view stored server or channel configuration.
| Command | Caller access | Required parameters | Optional parameters |
|---|---|---|---|
/channel list_config | Manage Server. | None | channel, server_id |
/channel set | Manage Server. | None | channel, running, name, role, checkin_channel, server_id |
/channel unset | Manage Server. | None | channel, running, name, role, checkin_channel, server_id |
/channel lockdown_setup | Monitor or Manage Server. | channel | None |
/channel lockdown_undo | Monitor or Manage Server. | channel | None |
channel defaults to the current Discord channel. On /channel unset, set each field flag to true when that stored value should be cleared. The optional role is the running-channel lockdown role, which /channel list_config labels Lockdown role. It is separate from the server-level TiaraBot monitor roles that authorize commands labeled Monitor in this reference. If it is not set, TiaraBot does not grant or remove lockdown roles and /kick manual is not needed.
The configuration commands store TiaraBot's channel mapping. If a lockdown role is configured, TiaraBot needs Manage Roles and its bot role must sit above that role.
/channel lockdown_setup replaces the selected channel's overwrites with the standard lockdown permissions: the Lockdown role can view, read, send, and use external emojis; configured monitor roles also receive Manage Channels and Pin Messages; and View Channel is denied for everyone else. /channel lockdown_undo removes all permission overwrites from the channel so its inherited permissions apply again. See Set up lockdown channel permissions before using either command.
The web Setup confirmation warns that every existing overwrite will be replaced. The Undo confirmation separately warns that every explicit channel overwrite will be removed so inherited permissions apply again.
Message controls
| Control | Caller access | Parameters | Notes |
|---|---|---|---|
| Check-in button | Check-in filler. | None | Records that filler and restores the configured lockdown role when the room uses one. |
| Open Slots button | Any eligible user. | None | Refreshes the slot list attached to the registered TiaraBot message. |
| Room-order Previous or Next | Monitor. | None | Changes the interactive draft. |
| Room-order Send or Pin tentative | Monitor. | None | Sends the selected order or pins the tentative order. TiaraBot needs Manage Messages to pin it. |
| Team Confirm or Reject | Original submitter. | None | Requires the configured channel and server feature flag. Confirm writes the planned teams; Reject discards them. Unavailable after a terminal action. |
Team submission has one availability gate: the server feature flag must be enabled in addition to the monitored-channel mapping. Without it, TiaraBot does not dispatch, write, persist, react, or reply. TiaraBot stages a parsed submission without writing the sheet; Confirm writes it and Reject discards it. Confirm, Reject, and rollback failure make a submission terminal; editing its source message afterward does not reopen it.
Parameter defaults and targeting another server
- For commands where
server_idis optional, it defaults to the current Discord server. Supply the server's Discord ID when running the command in a DM or when intentionally targeting another server. The/feature_flagcommands always require it. - Permissions are always checked against the targeted server. Supplying
server_iddoes not bypass its monitor-role or Manage Server requirement. dayis the schedule-sheet day number.houris the schedule hour TiaraBot should use. If it is omitted, TiaraBot resolves the applicable hour from the interaction time.userdefaults to the person running the command.- Commands that send or pin messages also depend on TiaraBot having the matching Discord channel permissions.
For the short operational lookup, return to the Quick command reference.