-
Notifications
You must be signed in to change notification settings - Fork 0
Commands
-
Command
- Label:
--<label> - Args:
--<label> [required arg1] <optional arg2> - Role required: The role needed to be able to execute this command
- Verification: Whatever parameters or other factors are needed to run this command
- (Optional) Description: A small summary of this command
- Results:
- A list of results
- That occur from different
- Conditions
- Label:
-
Command:Sub Commmand (Occurs when sub commands of a command require too much information)
- Label:
--<super-label> <label>(Ex:--fspeak allwhere fspeak is the super-label and all is the label for the sub command) - Args: ` [required arg1]
- Role required: The role needed to execute this sub command
- Verification: Whatever...
- (Optional) Description: Description of this sub command
- Results:
- Etc
- Label:
More complex sub command with arguments example:
--<label> [command/command2/command3/command4] [arg1(command1/command3)/arg2(command2/command4)] <[arg3(command2/command4)]/arg4(command1)>
For the first set of [ ], there are 4 sub commands and it is required to use one of the four. The second set of [ ] indicate there is a second required argument. This means all four sub commands will require a second argument. arg1(command1/command3) indicate that arg1 will be used for commands 1 and 3, and arg2(command2/command4) will be used for commands 2 and 4. The final "argument group" are the set of < >. This indicates this arg group can be optional. We can see that the first argument is actually required if you are using command 2 or 4. However, looking at the second argument in we can see that arg4 is only optional for command 1.
By default, output will always be directed to the channel in which the command was sent in. @ refers to a mention. This could mention a role or a user, or anything else that is mentionable.
- Hello
- Label:
hello - Args: None
- Role required: None
- Verification: Verified by default
- Results:
- Outputs
Hello, @<sender>
- Outputs
- Label:
- Cool
- Label:
cool - Args: None
- Role required: None
- Verification: Verified by default
- Results:
- Outputs
:thecool:emoji, if it exists on the server.
- Outputs
- Label:
- Shutdown
- Label:
shutdown - Args: None
- Role required:
sd - Verification: Verified by default
- Results:
- If user has
sdrole: Shuts down the bot after sending "Au revoir :thecool:`. - If user does not have the sd role, Outputs "Sorry, you don't have PERMISSION TO END ME."
- If user has
- Label:
- Force Speak
- Label:
fspeak - Args: `--fspeak [text-channel] [message...]
- Role required:
sd - Verification: Verified by default (channel must exist)
- Results:
- Outputs the message to the specified channel, if it exists.
- If the user does not have the
sdrole, nothing happens.
- Label:
- Help
- Label:
help - Args:
--help <command> - Role required: None
- Verification: Verified by default
- Results:
- Outputs the help text associated with the specified command.
- Label:
- Text to Speech
- Label:
tts - Args:
--tts <true/false> - Role required:
sd - Verification: Verified by default
- Description: MDCBot has a TTSMode, disabled by default. With TTS mode enabled (
--tts true), the bot will output all text as if it had used the command/tts <message> - Results:
- If user does not have the
sdrole, nothing happens. - If there is no argument provided, outputs the current TTS state of the bot.
- <true/false>: Sets the TTS state of the bot to true or false. This enables or disables the bot speaking it's messages. Outputs confirmation.
- If user does not have the
- Label:
- Commands List
- Label:
commands - Args: None
- Role required: None
- Verification: Verified by default
- Results:
- Outputs a list of all commands.
- Label:
- Game
- Label:
game - Args:
--game [join/leave] [game] - Role required: None
- Verification: Will not execute if the roll of
@g_<game>does not exist. Produces error output. - Description: Used for users to be able to subscribe to notifications for players who are seeking other people to play with. For example, someone who wanted to play overwatch could send
@g_overwatchin a message. Anyone who had run--game join overwatchwould have the role@g_overwatchand (assuming the role was mentionable), would receive a notification. - Results:
- Assigns or removes the role
@g_<game>to the requesting user. If the user already (or does not have) the role, the bot will output "@user (already has / does not have) the role @g_`
- Assigns or removes the role
- Label:
- Timeout
- Label:
timeout - Args:
--timeout [@target/roll] - Role required: None
- Verification: Depends on sub command
- Description: This is a base command, and does nothing on its on. The two sub commands are
@userandroll - Results:
- None, sub commands provide output.
- Label:
- Timeout:Timeout user
- Label:
@target - Args: The label is the argument, in this case
- Role required: None
- Verification: The target user cannot be in the cool down period.
- Description: Attempts to create a vote to send the user
@targetto "timeout." If a vote exists, it votes to send the@targetto timeout. Users sent to timeout will be assigned thetimeoutroll. It will either be removed after 15 minutes, or when the user uses the--timeout rollcommand to roll a 15 or higher. Every user who escapes time out is given a 24 hour grace period in which they cannot be targeted. This period is removed when the bot is restarted. - Results:
- Creates a vote with a voting period of 30 seconds to send the
@targetto timeout. Sends confirmation. - Votes to send the
@targetto timeout. Sends confirmation. - (Fail) Informs sender that the user is in a 24h grace period.
- Creates a vote with a voting period of 30 seconds to send the
- Label:
- Timeout:Roll
- Label:
roll - Args: None
- Role required: None
- Verification: Sender must have the
timeoutroll. - Description: Used to escape the
timeoutroll. - Results:
- Selects a random number [0,20], if the number is 15 or higher the
timeoutrole is removed from the sender.
- Selects a random number [0,20], if the number is 15 or higher the
- Label:
- Duel
- Label:
duel - Args:
--duel [@user/accept/reject/stats/attack/quit] <[@user(accept/reject)]/@user(stats)> - Role required: None
- Verification: Based on sub commands
- Description: The duel command (or its sub commands) are used to create duels with other users, attack in those duels, and look at the stats of users who have fought before. Players in duels have 12 HP and an AC of 12.
- Results:
- Sub commands
- Label:
- Duel:@user
- Label:
@user - Args: The label is the argument, in this case
- Role required: None
- Verification: User must not be in a duel
- Description: Initiates a duel request with a the target
@user. If the user is already in a duel, the request will not be created. The same applies to if the sender is in a duel. - Results:
- Creates a duel request with the participants target
@userand thesender. Outputs duel confirmation.
- Creates a duel request with the participants target
- Label:
- Duel:accept
- Label:
accept - Args:
[@user] - Role required: None
- Verification: The accepter and
@usermust have a pending duel request. - Description: Accepts a duel request between the two users and starts the duel in the channel in which the request was created in.
- Results:
- Starts duel with the two users.
- Label:
- Duel:reject
- Label:
reject - Args:
[@user] - Role required: None
- Verification: The rejecter and
@usermust have a pending duel request. - Description: Rejects a duel request between the two users and disbands the duel.
- Results:
- Disbands duel with the two users.
- Label:
- Duel:attack
- Label:
attack - Args: None
- Role required: None
- Verification: The sender must be in an active duel. It must be the senders turn to attack
- Description: Attacks the opponent in the duel the sender is in, if it's their turn. Attacks with a 1d20. If the roll is <=12, the attack misses. On hit, the user rolls a 1d6 to decide damage. Rolling a 20 doubles damage, and rolling a 1 gives the opponent a free attack in which it is impossible for them to roll a 1.
- Results:
- Does an attack attempt at the opponent.
- Label:
- Duel:quit
- Label:
quit - Args: None
- Role required: None
- Verification: The sender must be in an active duel
- Description: Quits / disbands the duel the sender is in. There is no effect on the users stats.
- Results:
- Disbands the duel the sender is in.
- Label:
- Duel:stats
- Label:
stats - Args:
<@user> - Role required: None
- Verification: Verified by default
- Description: Retrieves a users duel stats. Shows their wins, losses, and current win streak.
- Results:
- Displays duel stats of a user.
- Label: