diff --git a/Module/ModCommands/Commands/_CommandBase.cs b/Module/ModCommands/Commands/_CommandBase.cs index 703b9b0..64e5a02 100644 --- a/Module/ModCommands/Commands/_CommandBase.cs +++ b/Module/ModCommands/Commands/_CommandBase.cs @@ -55,11 +55,7 @@ namespace Noikoio.RegexBot.Module.ModCommands.Commands { "say", typeof(Say) }, { "unban", typeof(Unban) }, { "addrole", typeof(RoleAdd) }, - { "roleadd", typeof(RoleAdd) }, - { "grantrole", typeof(RoleAdd) }, - { "delrole", typeof(RoleDel) }, - { "roledel", typeof(RoleDel) }, - { "revokerole", typeof(RoleDel) } + { "delrole", typeof(RoleDel) } }); public static Command CreateInstance(CommandListener root, JProperty def) diff --git a/docs/modtools.md b/docs/modcommands.md similarity index 74% rename from docs/modtools.md rename to docs/modcommands.md index fee33ad..bfbc307 100644 --- a/docs/modtools.md +++ b/docs/modcommands.md @@ -1,10 +1,10 @@ -## ModTools +## ModCommands -ModTools is the current name for the component that provides commands for use by moderators. Commands are defined based on a number of available template-like *type*s, which can then be customized with further configuration. +ModCommands is the name of the component that provides the ability for one to create useful commands for moderation. These commands are defined based on a number of available template-like *type*s, which can then be customized with further configuration. Sample within a [server definition](serverdef.html): ``` -"ModTools": { +"ModCommands": { "Commands": { "Kick": { // a plain and simple kick command "type": "kick", @@ -20,14 +20,14 @@ Sample within a [server definition](serverdef.html): ``` ### Definition structure -Commands are defined within a JSON object named `Commands` within another object named `ModTools`. They are defined by means of name/value pairs, with the name serving as its label. +Commands are defined within a JSON object named `Commands` within another object named `ModCommands`. They are defined by means of name/value pairs, with the name serving as its label. The following values are **required** in a definition: -* type (*string*) - Specifies the behavior that the command should take. +* type (*string*) - Specifies the type of behavior that the command should take. * command (*string*) - The text trigger for the command being defined. Must not contain spaces, and it is recommended to start it with an uncommon symbol, such as `!`. ### Command types -Each command type specifies the action taken by the bot when the command is invoked. Certain types offer additional configuration options as well. +Each command type specifies the action taken by the bot when the command is invoked. Certain types offer additional configuration options. #### Ban * `"type": "ban"` @@ -44,6 +44,11 @@ Additional behavior can be specified in its configuration: * Uses a default message if this configuration value is not specified. * To disable, specify a blank value. +#### Configuration Reload +* `"type": "confreload"` +* Usage: (*command*) +Reloads server configuration. The bot will reply indicating if the reload was successful. + #### Kick * `"type": "kick"` * Usage: (*command*) (*user name or ID*) [*reason*] @@ -58,12 +63,17 @@ Additional behavior can be specified in its configuration: * Uses a default message if this configuration value is not specified. * To disable, specify a blank value. +#### Role manipulation +* `"type": "addrole"` or `"type": "delrole" +* Usage: (*command*) (*user name or ID*) +Sets or unsets a predefined role upon the given user. + +Additional configuration: +* role (*string*) - The role that applies to this command. May be defined in the same type of format accepted within [entity lists](entitylist.html). +* successmsg (*string*) - Custom message to display on success. If not specified, a default message is used. + * The string *$target* can be used in the value to represent the command target. + #### Say * `"type": "say"` * Usage: (*command*) (*channel name or ID*) (*message*) -Causes the bot to send the given message exactly as specified to the given channel. - -#### Configuration Reload -* `"type": "confreload"` -* Usage: (*command*) -Reloads server configuration. The bot will reply indicating if the reload was successful. \ No newline at end of file +Causes the bot to send the given message exactly as specified to the given channel. \ No newline at end of file diff --git a/docs/serverdef.md b/docs/serverdef.md index 2d6de3a..88ce186 100644 --- a/docs/serverdef.md +++ b/docs/serverdef.md @@ -28,4 +28,4 @@ The following is a list of accepted members within a server definition. * moderators (*[entity list](entitylist.html)*) - A list of entities to consider as moderators. Actions done by members of this list are able to execute *ModTools* commands and are exempt from certain *AutoMod* rules. See their respective pages for more details. * [automod](automod.html) (*name/value pairs*) - See respective page. * [autoresponses](autorespond.html) (*name/value pairs*) - See respective page. -* [ModTools](modtools.html) (*name/value pairs*) - See respective page. \ No newline at end of file +* [ModCommands](modcommands.html) (*name/value pairs*) - See respective page. \ No newline at end of file