TIARADOCS
TiaraBotCommand reference

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

LabelRequirement
Any Discord userNo TiaraBot monitor role or Discord management permission is required.
SelfThe command can read your own record. Looking up another person requires a configured monitor role.
MonitorYou 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 ServerYou must hold a configured TiaraBot monitor role or have Discord's Manage Server permission in the target server.
Manage serverYou must have Discord's Manage Server permission or Administrator in the target server. A TiaraBot monitor role alone is not enough.
Check-in fillerYou must be one of the fillers recorded on that check-in prompt.
Original submitterYou 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

CommandCaller accessRequired parametersOptional parameters
/schedule listSelf. Monitor when user is another person.dayuser, server_id
/fillers listMonitor.channel_name, start_hour, finish_hourserver_id
/slot listAny Discord user for ephemeral. Monitor for persistent.dayserver_id, message_type
/slot buttonMonitor.dayserver_id
/slot removeMonitor.Noneserver_id
/team listSelf. Monitor when user is another person.Noneuser, server_id
/screenshotMonitor.channel_name, dayserver_id
/statusAny Discord user.NoneNone

/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.

CommandCaller accessRequired parametersOptional parameters
/sheet exportManage serverNoneserver_id
/sheet importManage serverfile, confirmserver_id
/sheet listManage serverNoneserver_id
/sheet setManage serverspreadsheet_idserver_id
/sheet edit_scalarManage serverfieldentry_id, text, number, server_id
/sheet edit_rangeManage serverfield, rangeentry_id, server_id
/sheet edit_entryManage servercollection, actionentry_id, position, confirm, server_id
/sheet saveManage serverNoneserver_id
/sheet activateManage serverrevision_idserver_id
/sheet rollbackManage serverrevision_idserver_id
/sheet discardManage serverNoneserver_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

CommandCaller accessRequired parametersOptional parameters
/checkin manualMonitor.Nonechannel_name, hour, server_id, template
/checkin savedMonitor or Manage Server.hourchannel_name, server_id
/checkin test_autoMonitor.Noneserver_id, hour
/room_order manualMonitor.Nonechannel_name, hour, heal, server_id
/kick manualMonitor.Nonehour, 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

CommandCaller accessRequired parametersOptional parameters
/preference checkin-dm statusAny Discord user.Noneplatform
/preference checkin-dm enableAny Discord user.Noneplatform, client_id
/preference checkin-dm disableAny Discord user.Noneplatform
/preference monitor-dm statusAny Discord user.Noneplatform
/preference monitor-dm enableAny Discord user.Noneplatform, client_id
/preference monitor-dm disableAny Discord user.Noneplatform
/preference dm clientAny Discord user.client_idplatform

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.

CommandRequired parametersOptional parameters
/server list_configNoneserver_id
/server add monitor_roleroleserver_id
/server remove monitor_roleroleserver_id
/server set sheetsheet_idserver_id
/server set auto_checkinauto_checkinserver_id
/server set monitor_channelchannelserver_id
/server set announcement_channelchannelserver_id
/server unset monitor_channelNoneserver_id
/server unset announcement_channelNoneserver_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.

CommandCaller accessRequired parametersOptional parameters
/feature_flag enableTiaraBot owner onlyflag_name, server_idNone
/feature_flag disableTiaraBot owner onlyflag_name, server_idNone

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.

CommandCaller accessRequired parametersOptional parameters
/channel list_configManage Server.Nonechannel, server_id
/channel setManage Server.Nonechannel, running, name, role, checkin_channel, server_id
/channel unsetManage Server.Nonechannel, running, name, role, checkin_channel, server_id
/channel lockdown_setupMonitor or Manage Server.channelNone
/channel lockdown_undoMonitor or Manage Server.channelNone

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

ControlCaller accessParametersNotes
Check-in buttonCheck-in filler.NoneRecords that filler and restores the configured lockdown role when the room uses one.
Open Slots buttonAny eligible user.NoneRefreshes the slot list attached to the registered TiaraBot message.
Room-order Previous or NextMonitor.NoneChanges the interactive draft.
Room-order Send or Pin tentativeMonitor.NoneSends the selected order or pins the tentative order. TiaraBot needs Manage Messages to pin it.
Team Confirm or RejectOriginal submitter.NoneRequires 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_id is 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_flag commands always require it.
  • Permissions are always checked against the targeted server. Supplying server_id does not bypass its monitor-role or Manage Server requirement.
  • day is the schedule-sheet day number.
  • hour is the schedule hour TiaraBot should use. If it is omitted, TiaraBot resolves the applicable hour from the interaction time.
  • user defaults 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.

On this page