Clan War Scheduler
Create schedules for people to react to.
Scheduler commands can be customized or disabled entirely by editing your server's config options.
NEW: You can now display everyone's username next to their @ping on each schedule! To enable, use the command im!config display-username true
. By default, this value is set to false.
!create <event title> <date and time> [optional restriction]
event title
: The name of the event
date and time
: When the event takes place. Click here for an explanation on how dates are parsed. See below on how you can create multiple schedules on the same day with one command.
optional restriction
: Only allow people with a certain role to react. Note: you must first add a restriction with !scheduleroleadd
(shown below) in order for it to work.
Create a new schedule.
To create multiple schedules with a single command, separate the different times with a comma. Here are
some examples on how to create schedules at 11am, 12pm, 1pm, and 2pm:
!create Scrim today at 11am, 12pm, 1pm, 2pm pdt
!create Scrim today at 11:00 am, 12:00 pm, 1:00pm, 2:00pm pdt
!create Scrim 4/8 11:00, 12:00, 13:00, 14:00 pdt
!create Scrim 4/8 11, 12, 13, 14 pdt
In addition, if you regularly need to create multiple schedules at the same times for a day, you can create
a custom command. For example, if you create a custom command with !cca scrims, !create scrim today 2pm, 3pm, 4pm pdt
then you can use the command !scrims
to have Ice Mario send the schedule create message to create the specified schedules.
If using optional restriction
, add the word "only" after the restriction name.
For example, if you have a restriction with name sapphire
, you'd type
sapphire only
as in
!create example at 12pm pdt sapphire only
. You'll know it's enabled if 🔒 is shown.
Optionally, you can use !createc
instead to create a condensed schedule. Each member is shown on one line instead of on
separate lines which makes it more compact. You can also switch between them after the schedule has been
created by reacting with 🔄.
By default, Ice Mario will ping members that have reacted 1 hour before an event as well as when an
event starts. Also, each schedule will be disabled (indicated by the color black) 1 hour
after the scheduled time. Alternatively, you can have Ice Mario delete the schedule after 1 hour
instead, or you can have Ice Mario delete schedules between 1 and 60 minutes after an event takes place.
This can all be adjusted by setting the Clan War Scheduler config options.
If you would like an image to be shown on the schedule message, attach an image when sending the
!create command.
If someone signs up for two or more events happening at the same time, Ice Mario will send
a warning message about the schedule conflict.
The schedule message color will change based on the number of people that have signed up.
They are as follows:
- Red: The
can list
andsub list
have a combined total less than or equal to (gather-size
minus 2). Note:gather-size
is a server config option. - Green: There are
gather-size
or more players on thecan list
. - Yellow: When there are almost enough people for an event.

People can react to one of the four reactions on the message, and the schedule will update
accordingly. It's recommended to give Ice Mario MANAGE_MESSAGES
permission in your schedule channel because it will automatically remove someone's previous
reaction if they switch to a different one.
!scheduleedit <schedule message link> <new title and date>
schedule message link
: The Discord message link
new title and date
: The title and date like when a schedule was created
Edit an existing schedule's title, date, or the restriction.
If you originally created a schedule with !create vs someone today 5pm pdt
but need to change the time to 8pm, then an example would be !scheduleedit https://discord.com/channels/12345/67890/19283 vs someone today 8pm pdt
.
!scheduleadd <schedule message link> <can/sub> <member ping>
Add someone to an existing schedule. The second argument should be either "can" or "sub".

!scheduleremove <schedule message link> <member ping>
Remove someone from an existing schedule.
!schedule
Get a list of all the schedules in your server for the day (based on Pacific Time).
!myschedule
Get a list of all the schedules you have signed up for.
!stickyschedule
Initializes a sticky schedule for a server. This will show a list of all the
schedules, and it will be updated once a minute. This is most helpful if its used in its own
channel. Note: you will need MANAGE_MESSAGES
permission. This
command can be used multiple times, but only the most recent message will be updated. You may
delete the sticky schedule message to stop further updates.
!scheduleroleadd <name> <allowed roles> [channel redirect] [nosub]
!sra
name
: The name (1 word) for the role, to be used when using the !create
command.
allowed roles
: @roles or role IDs that can react with the can emoji. If
more than one, separate each of them by a space. Example: !sra test @role @leader
.
channel redirect
(optional): #channel mention or channel ID to redirect all schedule messages to.
nosub
(optional): Include the text nosub
at the end to disallow sub reactions.
Add a schedule restriction so only server members with one of the roles
specified in allowed roles can react.
If you include channel redirect
, whenever a schedule is created anywhere in your server, it will be
redirected to the specified channel instead of the current channel. For example, if you have
a channel called #schedule and a channel called #chat, using the !create command inside #chat
will cause the schedule to be sent to #schedule.
In addition, you can add a default schedule redirect. This will redirect all schedules that do not already have a channel
redirect to a specific channel. To do so, use default
for the name
parameter and also provide
a channel like so: !sra default #schedules
. Note: If the channel
you are typing in already has a channel redirect, then the default redirect will be ignored
and the schedule will be sent to your current channel.
If you include nosub
at the end of the command, this will
prevent people without the allowed roles from being able to react with sub. Without
it, people without the necessary roles can still react with sub.
Examples:
- Restrict a schedule to only people with the @example role:
!sra example @example
- Redirect all non-restricted schedules to a default channel #schedules:
!sra default #schedules
- Restrict a schedule to @example and @leader roles, and prevent others from reacting with sub:
!sra example @example @leader nosub
- Restrict a schedule to @example, @leader, and @trial role, and add a channel redirect to a channel named trial-schedules:
!sra example @example @leader @trial #trial-schedules
!scheduleroleremove <name>
!srr
Remove a schedule restriction.
!schedulerolelist
!srl
List all the schedule restrictions for your server.