mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-08 18:34:05 +00:00
[AB-xxx] improving documentation
This commit is contained in:
@@ -1,66 +1,66 @@
|
||||
=== Assignable roles
|
||||
|
||||
This feature enables creating and maintaining so-called 'assignable role places'. These places are messages at which buttons are added, and when a member clicks such a button, a configured role, is assigned to the user.
|
||||
A place can be disabled, which causes the buttons to become disabled. Such places can be made 'unique', which means that users can only have one role available in the place.
|
||||
This feature enables creating and maintaining so-called 'assignable role places' (ARP). These places are messages at which buttons are added, and when a member clicks such a button, a configured role is assigned to the user.
|
||||
A place can be disabled, which causes the buttons to become disabled. Such places can be made 'unique', which means that users can only have one role assigned at one point in time.
|
||||
|
||||
An assignable role place can have a type. This type can either be `DEFAULT`, or `BOOSTER´. The `BOOSTER` type comes with special functionalities: if a member clicked a button, it will evaluate whether the member has boosted the server and reject if not. There is also functionality to automatically remove the assigned roles for members who stopped boosting.
|
||||
There exist different types of ARPs: `DEFAULT`, or `BOOSTER´. The `BOOSTER` type comes with special functionalities: if a member clicked a button, the bot will evaluate whether the member has boosted the server and reject if not. These 'booster assigned roles' will be removed once the member stopped boosting.
|
||||
|
||||
Deleting the actual role behind an assignable role causes the assignable role place to become non-functional: the button will remain and can still be clicked, but users will receive an error message.
|
||||
Deleting the actual role behind an assignable role causes the assignable role place to become non-functional: the button will remain and can still be clicked, but users will receive an error message. In this case you can remove such a role via the command `removeRoleFromAssignableRolePlace`.
|
||||
|
||||
Feature key: `assignableRole`
|
||||
|
||||
|
||||
==== Commands
|
||||
Create a new assignable role place::
|
||||
Create a new ARP::
|
||||
* Usage: `createAssignableRolePlace <name> <channel> <text> [type]`
|
||||
* Description: Creates a new assignable role place with the key `name`. The `text` will be shown in the description of the first message.
|
||||
When the place is setup, it will be posted in the `channel`. If `type` is not provided, it will be `DEFAULT`. Possible values for are `booster` and `default`.
|
||||
When the messages are created it will be posted towards the channel `channel`. If `type` is not provided, it will default to `DEFAULT`. Possible values for are `booster` and `default`.
|
||||
|
||||
Add a role to an assignable role place::
|
||||
Add a role to an ARP::
|
||||
* Usage: `addRoleToAssignableRolePlace <name> <role> <text> [emote]`
|
||||
* Description: Adds to the assignable role place identified by `name` an additional assignable role. The `role` will be assigned when a member adds the reaction. The `text` will be the text of the button, and the optional `emote` will be used in the button.
|
||||
It is required that `emote` is usable by Abstracto.
|
||||
* Description: Adds one role to the ARP identified by `name`. The `role` will be assigned when a member clicks the button. The `text` will be the text of the button, and the optional `emote` will be used as an emote in the button.
|
||||
It is required that `emote` is usable by the bot.
|
||||
|
||||
Create the assignable role place in discord::
|
||||
Create the ARP in Discord::
|
||||
* Usage: `setupAssignableRolePlace <name>`
|
||||
* Description: Posts the message of the assignable role place identified by `name` to the configured channel in discord. This will delete the old message connected to this assignable role place, if there is any.
|
||||
* Description: Posts the message of the ARP identified by `name` to the configured channel in discord. This will delete past message of this ARP (if any)
|
||||
|
||||
Remove a role from an assignable role place::
|
||||
Remove a role from an ARP::
|
||||
* Usage: `removeRoleFromAssignableRolePlace <name> <role>`
|
||||
* Description: Removes from the assignable role place identified by `name`, the button associated with the role `role`. If the role was deleted in the meantime, providing the role ID works as well.
|
||||
* Description: Removes from the ARP identified by `name` the button associated with the role `role`. If the role was deleted in the meantime, providing the role ID works as well.
|
||||
|
||||
Show the current configuration for an assignable role place::
|
||||
* Usage: `showAssignableRolePlaceConfig <name>`
|
||||
* Description: This command displays the current configuration of assignable role place identified by `name`.
|
||||
* Description: This command displays the current configuration of ARP identified by `name`.
|
||||
|
||||
Move an assignable role place to another channel::
|
||||
Move an ARP to another channel::
|
||||
* Usage: `moveAssignableRolePlace <name> <newChannel>`
|
||||
* Description: Moves the assignable role place identified by `name` to be in `newChannel`. If the place is currently shown, this will immediately delete the message and create the place in the given `newChannel`.
|
||||
* Description: Moves the ARP identified by `name` to be in `newChannel`. If the ARP has a message currently, this will immediately delete the message and create it in the given `newChannel`.
|
||||
|
||||
Deactivate the assignable role place::
|
||||
Deactivate the ARP::
|
||||
* Usage: `deactivateAssignableRolePlace <name>`
|
||||
* Description: Deactivates the buttons of the assignable role place identified by `name`.
|
||||
* Description: Deactivates the buttons of the ARP identified by `name`.
|
||||
|
||||
Activate the assignable role place::
|
||||
Activate the ARP::
|
||||
* Usage: `activateAssignableRolePlace <name>`
|
||||
* Description: Activates the buttons of the assignable role place identified by `name` and enables the assignment of roles.
|
||||
* Description: Activates the buttons of the ARP identified by `name`.
|
||||
|
||||
Change configuration of assignable role place::
|
||||
Change configuration of ARP::
|
||||
* Usage: `changeAssignableRolePlaceConfig <name> <key> <newValue>`
|
||||
* Description: Changes the config attribute indicated by `key` of the place identified by `name` to `newValue`. The possible key is `unique` and it can take `true`/`false` as `newValue`.
|
||||
|
||||
Delete an assignable role place::
|
||||
Delete an ARP::
|
||||
* Usage: `deleteAssignableRolePlace <name>`
|
||||
* Description: Completely deletes the assignable role place identified by `name`. This includes any trace in the database and the current message, if any.
|
||||
* Description: Completely deletes the ARP identified by `name`. This includes any trace in the database and the current message, if any.
|
||||
|
||||
Change description text of assignable role place::
|
||||
Change description text of ARP::
|
||||
* Usage `editAssignableRolePlaceText <name> <newText>`
|
||||
* Description: Changes the text which is shown in the message of the assignable role place identified by `name` to `newText`. This changes the message immediately.
|
||||
* Description: Changes the text which is shown in the message of the ARP identified by `name` to `newText`. This changes the message immediately.
|
||||
|
||||
Create an assignable role condition::
|
||||
* Usage: `addAssignableRoleCondition <name> <role> <conditionKey> <conditionValue>`
|
||||
* Description: Creates a condition for the given assignable role identified by `role` for the assignable role place identified by `name`. There only exist one `conditionKey` right now, which is `min_level`. The given `conditionValue` for this condition must be a number between 1 and 150.
|
||||
* Description: Creates a condition for the given assignable role identified by `role` for the ARP identified by `name`. There only exist one `conditionKey` right now, which is `min_level`. The given `conditionValue` for this condition must be a number between 1 and 150.
|
||||
|
||||
Delete an assignable role condition::
|
||||
* Usage: `removeAssignableRoleCondition <name> <role> <conditionKey>`
|
||||
* Description: Removes the assignable role condition `conditionKey` for `role` in the assignable role place identified by `name`. There only exist one `conditionKey` right now, which is `min_level`.
|
||||
* Description: Removes the assignable role condition `conditionKey` for `role` in the ARP identified by `name`. There only exist one `conditionKey` right now, which is `min_level`.
|
||||
@@ -9,28 +9,28 @@ The core feature contains necessary commands in order for Abstracto to function
|
||||
==== Commands
|
||||
Help::
|
||||
* Usage: `help [module/command]`
|
||||
* Description: If no parameter is provided, this will list the currently available modules. If the provided parameter matches the name of a module, information about that module is displayed.
|
||||
This information includes a description and the available commands of this module. If the provided parameter matches a command name, information about this command is displayed.
|
||||
* Description: If no parameter is provided, this will list the currently available modules and a short description. If the provided parameter matches the name of a module, information about that module is displayed.
|
||||
This information includes a description and the executable commands of this module. If the provided parameter matches a command name, information about this command is displayed.
|
||||
The module matching takes precedence over command matching.
|
||||
This information includes the a short description, a more detailed description, aliases (if any), parameters (if any), which roles are allowed to execute the command,
|
||||
or if it is not restricted and which effects a command has.
|
||||
This information includes a short description, a more detailed description, aliases (if any), parameters (if any), which roles are allowed to execute the command,
|
||||
and which effects a command has
|
||||
Changing the system configuration::
|
||||
* Usage `setConfig <key> <value>`
|
||||
* Description: Changes the value of this configuration identified by `key` to `value`. Some of these configurations have separate commands, but this works in general.
|
||||
* Description: Changes the value of this configuration identified by `key` to `value`. Some of these configurations have separate specific commands, but this works in general.
|
||||
* Example: `setConfig expMin 15` to set the minimum experience to 15
|
||||
Resetting the configuration to default values::
|
||||
* Usage `resetConfig [key/feature]`
|
||||
* Description: Resets the configuration of the given `key` or for the complete feature identified by `feature`. If this is not provided, it will reset the entire server to the default configuration.
|
||||
Changing emotes Abstracto uses::
|
||||
Changing emotes the bot uses::
|
||||
* Usage: `setEmote <key> <emote>`
|
||||
* Description: Sets the emote identified by `key` used by Abstracto on this server to `emote`.
|
||||
This allows both built in emotes and custom emotes, but Abstracto must be in the server of the custom emote in order to use them.
|
||||
* Description: Sets the emote identified by `key` used by the bot on this server to `emote`.
|
||||
This allows both built in emotes and custom emotes, but the bot must be in the server of the custom emote in order to use them.
|
||||
Clearing the cache::
|
||||
* Usage: `clearCache`
|
||||
* Description: Clears the internal cache used by Abstracto. This mostly affects template changes directly done in the database.
|
||||
* Description: Clears the internal cache used by the bot. This is mostly useful to update tempaltes when they were changed in the database.
|
||||
Ping::
|
||||
* Usage: `ping`
|
||||
* Description: Prints the latency of Abstracto to the Discord servers.
|
||||
* Description: Prints the gateway ping of the bot to the Discord servers.
|
||||
Echo::
|
||||
* Usage: `echo <text>`
|
||||
* Description: Echos `text` in the same channel this command as executed in.
|
||||
@@ -39,7 +39,7 @@ Changing the prefix::
|
||||
* Description: Changes the prefix of the bot in this guild to `prefix`. This can be one or multiple characters.
|
||||
Changing a post target::
|
||||
* Usage: `posttarget <key> <channel>`
|
||||
* Description: Changes the given post target identified by `key` to the given channel. All messages using this post target will be send to this channel from now on.
|
||||
* Description: Changes the given post target identified by `key` to `channel`. All messages using this post target will be sent to this channel from now on.
|
||||
If neither `key` nor `channel` is given, this will print the currently available post targets and the channels they point to, if set.
|
||||
* Example: `posttarget banLog #general` to log the bans in the #general channel.
|
||||
Changing admin mode::
|
||||
@@ -47,10 +47,10 @@ Changing admin mode::
|
||||
* Description: Changes the admin modes on this server to the given value. Admin mode means, that **all** commands in the current server, can only be executed by members who have the ADMINISTRATOR permission.
|
||||
Listing the features::
|
||||
* Usage: `features`
|
||||
* Description: Lists the available features and whether or not they are enabled in this server.
|
||||
* Description: Lists the available features and whether they are enabled in this server.
|
||||
Enabling a feature::
|
||||
* Usage: `enableFeature <key>`
|
||||
* Description: Enables the feature identified by `key` in this server. If the feature dependents on other features, they will be enabled as well.
|
||||
* Description: Enables the feature identified by `key` in this server. If the feature dependents on other features, they will be enabled as well. Any configuration which requires setup will be listed. In order to start a configuration wizard execute the command `setupFeature`.
|
||||
* Example: `enableFeature moderation` to enable the moderation feature
|
||||
Disabling a feature::
|
||||
* Usage: `disableFeature <key>`
|
||||
@@ -58,8 +58,9 @@ Disabling a feature::
|
||||
* Example: `disableFeature moderation` to disable the moderation feature
|
||||
Creating a channel group::
|
||||
* Usage: `createChannelGroup <key>`
|
||||
* Description: Creates a new channel group identified by `key`.
|
||||
* Description: Creates a new channel group identified by `key`. There are different types of channel groups, depending on the features available. Per default `command` and `commandCoolDown` are available.
|
||||
* Aliases: `+ChGroup`
|
||||
|
||||
Adding a channel to a channel group::
|
||||
* Usage: `addToChannelGroup <groupName> <channel>`
|
||||
* Description: Adds the `channel` to the channel group identified by the `groupName`. It is not possible for a channel to be in a group twice.
|
||||
@@ -76,70 +77,70 @@ Deleting a channel group::
|
||||
* Aliases: `-ChGroup`
|
||||
Disabling a command in a group::
|
||||
* Usage: `disableCommand <commandName> <groupName>`
|
||||
* Description: Disables the command identified by `commandName` in the channel group `groupName`. A command is considered disabled in a specified channel, if the command is disabled in *all* the groups the channel is in.
|
||||
* Description: Disables the command identified by `commandName` in the channel group `groupName`. A command is considered disabled in a specified channel, if the command is disabled in *all* the groups the channel is in. This requires the command to be added to this channel group first.
|
||||
* Example: `disableCommand warn group1` to disable the command `warn` in the group `group1`
|
||||
Enabling a command in a group::
|
||||
* Usage: `enableCommand <commandName> <groupName>`
|
||||
* Description: Enables the command identified by `commandName` in the channel group `groupName`. A command is considered enabled in a specified channel, if the command is enabled in *any* the groups the channel is in.
|
||||
* Example: `enableCommand warn group1` to enable the command `warn` in the group `group1`
|
||||
Showing all available channel groups and the respective channels::
|
||||
Showing all available channel groups::
|
||||
* Usage: `listChannelGroups`
|
||||
* Description: Provides an overview of the currently available channel groups and which channels are in this channel group.
|
||||
* Description: Provides an overview of the currently available channel groups, which channels are in the group, whether the group has been disabled and the type of the channel group.
|
||||
* Aliases: `lsChGrp`
|
||||
Removing role restrictions from a command::
|
||||
* Usage: `allow <featureName|commandName>`
|
||||
* Description: Allows everyone to execute all commands in this `feature`/the `command`. Which means, any restrictions concerning which role is able to execute a certain command is ignored even if it still shows in the help output.
|
||||
Allowing a role to execute a command::
|
||||
* Usage: `allowRole <featureName|commandName> <role>`
|
||||
* Description: Allows the provided `role` to execute all commands in the `feature`/the `command`. This command automatically restricts the commands, which means, if it was unrestricted before, after executing this command only the provided role can execute the command.
|
||||
* Usage: `allowRole <featureName|commandName> <role>`
|
||||
* Description: Allows the provided `role` to execute all commands in the `feature`/the `command`. This command automatically restricts the commands (does the same as the command `restrict`), which means, if it was unrestricted before, after executing this command only the provided role can execute the command.
|
||||
* Example: `allowRole moderation @Staff` to allow the role `Staff` to execute all commands in the `moderation` feature (where @Staff is a role mention)
|
||||
Forbidding a role to execute a command::
|
||||
Removing permission of a role to execute a command::
|
||||
* Usage: `disAllowRole <featureName|commandName> <role>`
|
||||
* Description: Removes the `role` from the list of allowed roles for all commands in the `feature`/the `command`.
|
||||
* Example: `disAllowRole moderation @Staff` to forbid the role `Staff` to execute all commands in the `moderation` feature (where @Staff is a role mention)
|
||||
Enforce the role restrictions of commands::
|
||||
* Usage: `restrict <featureName|commandName>`
|
||||
* Description: Causes the role restrictions for all commands in the `feature`/the `command` to be in effect again.
|
||||
Removing role restrictions from a command::
|
||||
* Usage: `allow <featureName|commandName>`
|
||||
* Description: Allows everyone to execute all commands in this `feature`/the `command`. Which means, any restrictions concerning which role is able to execute a certain command is ignored even if it still configured.
|
||||
Make a role affected by a command::
|
||||
* Usage: `makeAffected <effect> <role>`
|
||||
* Description: Makes the `role` affected by the `effect`.
|
||||
* Example: `makeAffected ban @Staff` in order so the role `Staff` can be banned (where @Staff is a role mention)
|
||||
* Example: `makeAffected ban @Staff` in order to the role `Staff` can be banned (where @Staff is a role mention)
|
||||
Make a role immune against a command::
|
||||
* Usage: `makeImmune <effect> <role>`
|
||||
* Description: Makes the `role` immune to `effect`.
|
||||
* Example: `makeImmune ban @Staff` in order so the role `Staff` cannot be banned (where @Staff is a role mention)
|
||||
* Example: `makeImmune ban @Staff` in order to the role `Staff` cannot be banned (where @Staff is a role mention)
|
||||
Show all effects::
|
||||
* Usage: `showEffects`
|
||||
* Description: Shows the currently possible effects and a short description of them.
|
||||
Enforce the role restrictions of commands::
|
||||
* Usage: `restrict <featureName|commandName>`
|
||||
* Description: Causes the role restrictions for a all commands in the `feature`/the `command` to be in effect again.
|
||||
Enabling a feature mode::
|
||||
* Usage: `enableMode <featureName> <mode>`
|
||||
* Description: Enables the mode `mode` in feature `featureName`. If the enabled state of the feature `featureName` is part of the default config, it will no longer be default config that after executing `enableMode`.
|
||||
* Description: Enables the mode `mode` in feature `featureName`. If the mode followed default configuration previously, it will not anymore after executing this command.
|
||||
Disabling a feature mode::
|
||||
* Usage: `disableMode <featureName> <mode>`
|
||||
* Description: Disables the mode `mode` in feature `featureName`. If the enabled state of the feature `featureName` is part of the default config, it will no longer be default config after executing `disableMode`.
|
||||
* Description: Disables the mode `mode` in feature `featureName`. If the mode followed default configuration previously, it will not anymore after executing this command.
|
||||
Listing all feature modes::
|
||||
* usage `featureModes [feature]`
|
||||
* Description: Lists all of the currently available feature modes and the feature they are associated with. If `feature` is given, it only lists the feature modes of this feature. The output also includes whether or not the current mode is enabled and if this value comes from the default configuration.
|
||||
* Usage `featureModes [feature]`
|
||||
* Description: Lists all of the currently available feature modes and the feature they are associated with. If `feature` is given, it only lists the feature modes of this feature. The output also includes whether it is enabled and if this value comes from the default configuration.
|
||||
Setting up a feature with an interactive wizard::
|
||||
* Usage: `setupFeature <featureName>`
|
||||
* Description: Starts an interactive wizard to configure the necessary properties and post targets of a feature. Also includes custom steps. Closes with a summary page to see all changes.
|
||||
* Description: Starts an interactive wizard to configure the necessary configuration of a feature. Closes with a summary page to see all changes.
|
||||
Allow the bot to use certain mentions::
|
||||
* Usage: `allowMention <mentionType>`
|
||||
* Description: Allows the bot to use certain mentions. ´mentionType` can either be `everyone`, `role` or `user`. If @everyone is enabled, this also enables @here mentions.
|
||||
This change takes immediate effect and is only for the current server. Per default user and role mentions are enabled.
|
||||
This change takes immediate effect and is only for the current server. Per default user and role mentions are enabled. This configuration can be overwritten on a template base.
|
||||
Disallow the bot to use certain mentions::
|
||||
* Usage: `disallowMention <mentionType>`
|
||||
* Description: Disallows the bot to use certain mentions. ´mentionType` can either be `everyone`, `role` or `user`. If @everyone is disabled, this also disables @here mentions.
|
||||
This change takes immediate effect and is only for the current server. Per default everyone/here mentions are disabled.
|
||||
This change takes immediate effect and is only for the current server. Per default everyone/here mentions are disabled. This configuration can be overwritten on a template base.
|
||||
Setting a custom template for this server::
|
||||
* Usage: `setTemplate <templateKey>`
|
||||
* Description: Adds or updates the given template identified by `templateKey` only for the current server. The content of the template needs to be attached to the message as a file and is required to be a plaintext file. The file can be named anything. The template needs to be in https://freemarker.apache.org/[Freemarker] format. This change is only in effect for this server and is called a 'customized template'. This will take effect immediately.
|
||||
Retrieving the current default template::
|
||||
* Usage: `getTemplate <templateKey>`
|
||||
* Description: Loads the current global template identified by `templateKey` and returns the content as an attached file to the response of the command.
|
||||
* Description: Loads the current global template identified by `templateKey` and returns the content as an attached file..
|
||||
Retrieving the current customized template for this server::
|
||||
* Usage: `getCustomTemplate <templateKey>`
|
||||
* Description: Loads the current customized tempalte identified by `templateKey` and returns the content as an attached file to the response of the command. Shows an error message, if there exists no customized template for this server for the provided `templateKey`.
|
||||
* Description: Loads the current customized template identified by `templateKey` and returns the content as an attached file.
|
||||
Resetting a customized template to the default template::
|
||||
* Usage `resetTemplate <templateKey>`
|
||||
* Description: Resets the template identified by `templateKey` to the default content.
|
||||
@@ -148,22 +149,22 @@ Show a link to documentation::
|
||||
* Description: Shows links to access the documentation.
|
||||
Create a server specific alias::
|
||||
* Usage `createAlias <commandName> <alias>`
|
||||
* Description: Creates the server specific alias for command `commandName` identified by `alias`. This means that from now on, users can use the command identified by `commandName` by using `alias` in its place, when executing the command or when using the help command. This alias is only available in this server, and it is not allowed to use the names of existing commands or pre-defined aliases. In case such an alias is used as `alias`, an error message is shown.
|
||||
* Description: Creates the server specific alias for command `commandName` identified by `alias`. This means that from now on, users can use the command identified by `commandName` by using `alias` in its place, when executing the command or when using the help command. This alias is only available in this server, and it is not allowed to use the names of existing commands or built-in aliases.
|
||||
Delete a server specific alias::
|
||||
* Usage: `deleteAlias <alias>`
|
||||
* Description: Deletes the server specific alias identified by `alias`. It is not possible to delete pre-defined aliases. If `alias` does not exist, an error message is shown.
|
||||
* Description: Deletes the server specific alias identified by `alias`. It is not possible to delete built-in aliases.
|
||||
Creating a profanity group::
|
||||
* Usage: `createProfanityGroup <profanityGroupName>`
|
||||
* Description: Creates a profanity group with the given `profanityGroupName`. This name must be unique within the server.
|
||||
Adding a profanity regex to a profanity group::
|
||||
* Usage: `addProfanityRegex <profanityGroupName> <profanityName> <regex> [replacement]`
|
||||
* Description: Adds a profanity regex identified by `profanityName` to the profanity group identified by `profanityGroupName`. The regex to be used is in `regex`. Depending on how the regex is used, you can define a `replacement`, with which a found text will be replaced. The `profanityName` must be unique within the profanity group.
|
||||
* Description: Adds a profanity regex `profanityName` to the profanity group `profanityGroupName`. The regex to be used is in `regex`. Depending on how the regex is used, you can define a `replacement`, with which a found text can be replaced. The `profanityName` must be unique within the profanity group.
|
||||
Show the current profanity configuration::
|
||||
* Usage: `showProfanityConfig`
|
||||
* Description: Shows the current profanity configuration for the current server, including all profanity groups and profanity regex.
|
||||
Removing a profanity regex from a profanity group::
|
||||
* Usage: `removeProfanityRegex <profanityGroupName> <profanityName>`
|
||||
* Description: Removes the profanity regex identified by `profanityName` from the profanity group identified by `profanityGroupName`.
|
||||
* Description: Removes the profanity regex `profanityName` from the profanity group `profanityGroupName`.
|
||||
Deleting a profanity group::
|
||||
* Usage: `deleteProfanityGroup <profanityGroupName>`
|
||||
* Description: Deletes the profanity group identified by `profanityGroupName` and all profanity regexes within.
|
||||
@@ -172,7 +173,7 @@ Showing the uptime of the bot::
|
||||
* Shows the uptime and start time of the bot instance.
|
||||
Adding a command to a channel group::
|
||||
* Usage: `addCommandToChannelGroup <channelGroupName> <commandName>`
|
||||
* Description: Adds the command `commandName` to the channel group `channelGroupName`. This can be used to add the command to a channel group which can disable the command or set a cooldown on the command.
|
||||
* Description: Adds the command `commandName` to the channel group `channelGroupName`. This can be used in various channel group types to customize how these commands behave in the respective channels. For example per default there are channel group types to define whether a command is disabled or the cooldown thereof.
|
||||
Disabling a channel group::
|
||||
* Usage: `disableChannelGroup <channelGroupName>`
|
||||
* Description: Disables the effect the channel group `channelGroupName` has.
|
||||
@@ -181,14 +182,13 @@ Enabling a channel group::
|
||||
* Description: Enables the effect the channel group `channelGroupName` has.
|
||||
Removing a command from a channel group::
|
||||
* Usage: `removeCommandFromChannelGroup <channelGroupName> <commandName>`
|
||||
* Description: Removes the command `commandName` from the channel group `channelGroupName`. This can be used to remove the command from a channel group which can enable the command or remove a cooldown on the command.
|
||||
* Description: Removes the command `commandName` from the channel group `channelGroupName`.
|
||||
Clearing cooldowns::
|
||||
* Usage: `clearCommandCoolDowns`
|
||||
* Description: Resets all currently active cooldowns of the current server, so every command can be used again.
|
||||
Setting channel and member cooldowns in a channel group::
|
||||
* Usage: `commandCoolDownChannelGroup <channelGroupName> <channelDuration> <memberDuration>`
|
||||
* Description: Sets the cooldown of the commands of the channel group `channelGroupName` to `channelDuration` for the channel group
|
||||
and `memberDuration` for each member.
|
||||
* Description: Sets the cooldown of the commands in the channel group `channelGroupName` to `channelDuration` and `memberDuration` for each member.
|
||||
Setting the global cooldown for a command::
|
||||
* Usage: `commandCoolDownServer <command> <duration>`
|
||||
* Description: Sets the cooldown for command `command` to `duration` for the whole server.
|
||||
@@ -197,14 +197,14 @@ Setting the global cooldown for a command::
|
||||
A feature mode is a very specific way in which a feature behaves for a certain decision. These feature modes can be defined for each server and are directly bound to a feature.
|
||||
These feature modes influence the availability of commands or general behavior of features.
|
||||
|
||||
An example of a feature mode is mod mail logging: If the feature mode `log` of mod mail is disabled, no thread will be logged and the separate command `closeNoLog` will not be available in the first place, because it will behave the same as the normal `close` command.
|
||||
An example of a feature mode is mod mail logging: If the feature mode `log` of mod mail is disabled, no thread will be logged and the separate command `closeNoLog` will not be available at all, because it will behave the same as the normal `close` command.
|
||||
If the feature mode is enabled, the messages from the thread are logged in the respective post target and the command will be available.
|
||||
|
||||
.What is a profanity group?
|
||||
A profanity group is just a container for various regexes. They are grouped together in order to be identified together and kept organized.
|
||||
Each profanity regex within that group has another identified. For example a regex group handles the word 'test'. Then a profanity regex is for all lower cases, this regex can be named 'lower', and the regex group is then named 'test'.
|
||||
Each profanity regex within that group has an additional identifier. For example a profanity group can be used to detect a particular word, but there are different profanities which would detect various possibilities for that one word. This helps reduce the complexity of individual regexes.
|
||||
|
||||
.How do multiple cooldowns interact
|
||||
If there are multiple cooldowns on a command active, the longest cooldown will decide the cool down.
|
||||
A channel cannot be in multiple cool down channel groups and this is actively enforced by the command.
|
||||
If there are multiple cooldowns on a command active, the longest cooldown will decide the cooldown.
|
||||
A channel cannot be in multiple cooldown channel groups at once and this is actively enforced by the command.
|
||||
If a cooldown is active, an error message is shown with the duration after which the command can be used again.
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
This feature contains the ability to track experience of users on the server and award roles based on the level they reach.
|
||||
The experience is awarded once per minute and is calculated by asciimath:[`\text{rand}(\text{minExp}, \text{maxExp}) * \text{expScale}`].
|
||||
Only one role is awarded at a time and the past unlocked roles are not given to the members.
|
||||
Currently members only have their highest earned role assigned.
|
||||
|
||||
==== Necessary bot permissions
|
||||
`MANAGE_ROLES` in order to award members with roles
|
||||
@@ -19,26 +19,25 @@ Changing the experience scale of the server::
|
||||
* Usage: `expScale <value>`
|
||||
* Description: Changes the value of `expScale` on this server to `value`.
|
||||
|
||||
Showing the leader board of the server::
|
||||
Showing the leaderboard of the server::
|
||||
* Usage: `leaderboard [page]`
|
||||
* Description: Shows the leader board of the server in a paginated format. This does not use the interactive pagination.
|
||||
If no parameter is provided, it will show the top 10 members and their message count, level, experience and rank.
|
||||
Additionally, the same information for the user executing is shown, regardless whether or not the user is already shown on the given leader board page.
|
||||
If a `page` is provided, it will display the leader board of the ranks `page * 10` until `(page + 1) * 10` instead. If `page` is beyond the member count, the last members are shown.
|
||||
* Description: Shows the leaderboard of the server in a paginated format.
|
||||
If no parameter is provided, it will show message count, level, experience and rank of the top 10 members.
|
||||
Additionally, the same information for the executing user is shown, regardless whether or not the user is already shown on the given leader board page.
|
||||
If a `page` is provided, it will display the leaderboard of the ranks `page * 10` until `(page + 1) * 10` instead. If `page` is beyond the member count, the last members are shown.
|
||||
|
||||
|
||||
Setting a role to be awarded at a certain level::
|
||||
* Usage: `setExpRole <level> <role>`
|
||||
* Description: Sets `role` to be awarded at the given `level`. If the role was previously assigned,
|
||||
this will cause to remove this assignment and recalculate the roles for all users previously having this role.
|
||||
This command will provide a status message indicating this process.
|
||||
This will not award this role to users which qualify for this, a `syncRoles` is necessary for this.
|
||||
A status image indicating the progress will be shown. It will not award this role to users which qualify for this, a `syncRoles` is necessary for this.
|
||||
* Example: `setExpRole 50 @HighLevel` in order to award the role `HighLevel` at level `50` (the @HighLevel is a role mention)
|
||||
|
||||
Syncing the roles of the members with the configuration::
|
||||
* Usage: `syncRoles`
|
||||
* Description: Recalculates the appropriate levels for all users on the server and awards the roles appropriate for the level.
|
||||
There will be a message indicating the current status of the progress and it is highly advised to not execute this command while another instance is still processing.
|
||||
There will be a message indicating the current status of the progress, and it is highly advised to not execute this command while another instance is still processing.
|
||||
This command can run for a longer period of time, depending on the amount of members in the guild.
|
||||
|
||||
Remove a role from being awarded at a certain level::
|
||||
@@ -53,20 +52,20 @@ If a member has *any* role of the ones for which experience is disabled, the mem
|
||||
|
||||
Enable experience gain for a certain role::
|
||||
* Usage: `enableExpForRole <role>`
|
||||
* Description: Enables experience gain for members with this role again.
|
||||
* Description: Enables experience gain for `role`.
|
||||
|
||||
List roles for which experience gain is disabled::
|
||||
* Usage: `listDisabledExperienceRoles`
|
||||
* Description: Lists the roles for which experience gain is disabled on this server.
|
||||
* Description: Lists the roles for which experience gain is disabled in this server.
|
||||
* Aliases: `lsDisEpRoles`
|
||||
|
||||
Disable experience gain for specific member::
|
||||
Disable experience gain for a specific member::
|
||||
* Usage: `disableExpGain <member>`
|
||||
* Description: Disables the ability to gain experience for this certain member.
|
||||
* Description: Disables experience gain fpr `member`.
|
||||
|
||||
Enable experience gain for specific member::
|
||||
Enable experience gain for a specific member::
|
||||
* Usage: `enableExpGain <member>`
|
||||
* Description: Enables the ability to gain experience for this certain member.
|
||||
* Description: Enables experience gain for `member`.
|
||||
|
||||
Show the currently configured experience roles in the server::
|
||||
* Usage: `levelRoles`
|
||||
|
||||
@@ -4,14 +4,14 @@ Feature key: `moderation`
|
||||
|
||||
==== Post targets
|
||||
`banLog`:: target of the message notifying about bans, both via command and via UI. Will still ban if not setup.
|
||||
`unBanLog`:: target of the message notifying about un-bans, both via command and via UI. Will still ban if not setup.
|
||||
`unBanLog`:: target of the message notifying about un-bans, both via command and via UI. Will still unban if not setup.
|
||||
`kickLog`:: target of the log message containing information about the kick. Will still kick if not setup.
|
||||
|
||||
==== Commands
|
||||
Ban a member::
|
||||
* Usage: `ban <member> <reason>`
|
||||
* Description:
|
||||
Bans the given `member` with the given optional `reason`. This sends a logging message to the `banLog` post target.
|
||||
Bans `member` with the given `reason`. This sends a logging message to the `banLog` post target.
|
||||
Banning this way does not delete old messages of the member on the server.
|
||||
It is also possible to ban users via ID, if they are not part of the server anymore.
|
||||
* Example: `ban @Member bad` in order to ban `Member` with the reason `bad` (the @Member is a user mention)
|
||||
@@ -25,10 +25,10 @@ Kick a member::
|
||||
* Description: Kicks the `member` from the guild with the given `reason`. If the `reason` is not provided, a default reason is used.
|
||||
* Example: `kick @Member bad` in order to kick `Member` with the reason `bad` (the @Member is a user mention)
|
||||
* Required bot permission: `KICK_MEMBERS`
|
||||
Change the slow mode in a channel::
|
||||
Change slowmode in a channel::
|
||||
* Usage: `slowmode <duration> [channel]`
|
||||
* Description: This command sets the slow mode in the `channel` to the given `duration`. This command uses duration parsing. The `channel` is optional and if none is provided, the current channel is used.
|
||||
* Example: `slowMode 1h2m3s #general` in order to set the slow mode in channel `general` to 1 hour 2 minutes and 3 seconds (the #general is a user mention)
|
||||
* Example: `slowMode 1h2m3s #general` in order to set the slow mode in channel `general` to 1 hour 2 minutes and 3 seconds (the #general is a channel mention)
|
||||
Purging messages in a channel::
|
||||
* Usage: `purge <messageCount> [member]`
|
||||
* Description: Deletes the last `messageCount` messages in the current channel. If a `member` is provided as parameter, only the messages by this member
|
||||
@@ -56,7 +56,7 @@ Feature key: `warnings`
|
||||
Warn a user::
|
||||
* Usage: `warn <member> [reason]`
|
||||
* Description: Warns the `member` with the given `reason` or a default one, if none is provided. This command sends a log message to the `warnLog` post
|
||||
target and notifies the member about the warn.
|
||||
target and notifies the member about the warning.
|
||||
* Example: `warn @Member bad` in order to warn `Member` with the reason `bad` (the @Member is a user mention)
|
||||
Listing the warnings of users::
|
||||
* Usage: `warnings [member]`
|
||||
@@ -97,7 +97,7 @@ Decaying all warnings if necessary::
|
||||
|
||||
This feature provides the capability to mute users, which effectively means it applies a role which prevents them from sending messages and speaking in voice chat.
|
||||
The role used to mute member will not be created and needs to be provided. There is no validation if the provided role actually mutes members.
|
||||
If the user leaves the guild and rejoins, the mute role will be re-applied.
|
||||
If the user leaves the guild and rejoins, the mute will be re-applied.
|
||||
|
||||
Feature key `muting`
|
||||
|
||||
@@ -113,36 +113,34 @@ Feature key `muting`
|
||||
==== Commands
|
||||
Muting a user::
|
||||
* Usage: `mute <member> <duration> [reason]`
|
||||
* Description: Applies the mute role to the given `member` for the given `duration`. If `reason` is not provided, a default reason will be used for logging in the `muteLog` post target. This will automatically
|
||||
un-mute the user after the duration has passed. If the un-mute happens automatically, this will also be logged in the `muteLog` post target.
|
||||
* Description: Applies the mute role to the given `member` for the given `duration`. If `reason` is not provided, a default reason will be used for logging in the `muteLog` post target. This will automatically un-mute the user after the duration has passed. If the un-mute happens automatically, this will also be logged in the `muteLog` post target.
|
||||
This command sends a notification to the user about the mute and kicks the user from the voice channel, if any.
|
||||
* Example: `mute @Member 1h2m3s bad` in order to mute the member `Member` for 1 hour 2 minutes and 3 seconds with the reason `bad` (the @Member is a user mention)
|
||||
Un-Muting a user::
|
||||
* Usage: `unMute <member>`
|
||||
* Description: Removes the mute role from the given member. This does *not* log the un-mute.
|
||||
* Description: Removes the mute role from `member`. This does *not* log the un-mute.
|
||||
Configuring which role to use for muting::
|
||||
* Usage: `setMuteRole <role>`
|
||||
* Description: Sets the `role` to be used as the role when applying a mute. This role needs to be muting, which means, if you want it to be effective, this role needs to deny `MESSAGE_WRITE`. Abstracto does not validate nor require the role to actually mute.
|
||||
* Description: Sets the `role` to be used as the role when applying a mute. This role needs to be muting, which means, if you want it to be effective, this role needs to deny `MESSAGE_WRITE`. The bot does not validate nor require the role to actually mute.
|
||||
Only *one* role can be used as a mute role.
|
||||
|
||||
=== Logging
|
||||
|
||||
This feature provides a range of utilities to monitor the server.
|
||||
The logging includes:
|
||||
|
||||
Feature key `logging`
|
||||
|
||||
==== Post targets
|
||||
`deleteLog`:: target for the messages containing information about a deleted message.
|
||||
`editLog`:: target for the messages containing information about an edited message.
|
||||
`joinLog`:: target for the messages containing information about an user joining the server.
|
||||
`leaveLog`:: target or the messages containing information about an user leaving the server.
|
||||
`joinLog`:: target for the messages containing information about a user joining the server.
|
||||
`leaveLog`:: target or the messages containing information about a user leaving the server.
|
||||
|
||||
Deleted message logging:: When a message is deleted, the content of the message and the possible attachments of said message will be logged.
|
||||
Edited message logging:: When a message is edited, the previous content of the message and the new content of the message will be logged.
|
||||
This does not work if the message was sent before the bot was started.
|
||||
Member joining logging:: When a member joins the guild, a message indicating this is send.
|
||||
Member leaving logging:: When a member leaves the guild, a message indicating this is send.
|
||||
Edited message logging:: When a message is edited, the previous content of the message, and the new content of the message will be logged.
|
||||
This does not work if the message was sent before the bot was started or was very old.
|
||||
Member joining logging:: When a member joins the guild, a message indicating this is sent.
|
||||
Member leaving logging:: When a member leaves the guild, a message indicating this is sent.
|
||||
|
||||
|
||||
=== User notes
|
||||
@@ -177,7 +175,7 @@ Another feature mode can send a notification to a post target in case an invite
|
||||
|
||||
==== Feature modes
|
||||
`trackUses`:: if enabled, each filtered invite will be tracked in the database. Disabled by default.
|
||||
`filterNotifications`:: if enabled, sends a notification to the `inviteDeleteLog` post target in case a message was deleted because of an invite. This notification contains the detected invite link(s), the author and a link to where the message was. Enabled by default.
|
||||
`filterNotifications`:: if enabled, sends a notification to the `inviteDeleteLog` post target in case a message was deleted because of an invite. This notification contains the detected invite link(s), the author, the guild name (if possible) and a link to where the message was. Enabled by default.
|
||||
|
||||
==== Commands
|
||||
Allowing an invite::
|
||||
@@ -190,7 +188,7 @@ Disallowing an invite::
|
||||
|
||||
Showing the tracked filtered invites::
|
||||
* Usage: `showTrackedInviteLinks [amount]`
|
||||
* Description: Shows the invites which were used and deleted on the server ordered by the amount of times they were deleted. The `amount` can be used to define how many invite links to display. The default is the top 5.
|
||||
* Description: Shows the invites which were deleted from the server ordered by the amount of times they were deleted. The `amount` can be used to define how many invite links to display. The default is the top 5.
|
||||
* Mode Restriction: This command is only available when the feature mode `trackUses` is enabled.
|
||||
|
||||
Remove all or individual invites from the tracked filtered invites::
|
||||
@@ -202,7 +200,8 @@ Remove all or individual invites from the tracked filtered invites::
|
||||
|
||||
Feature key `profanityFilter`
|
||||
|
||||
This functionality provides the ability to automatically delete any detected profanities. These profanities are configured via the profanity groups and profanity regexes. Every group in these groups are active and every profanity regex will be evaluated and (depending on the feature mode) reported to be voted on.
|
||||
This functionality provides the ability to automatically delete any detected profanities. These profanities are configured via the profanity groups and profanity regexes.
|
||||
It is possible to use a voting process to validate a reported profanity.
|
||||
The uses of profanities can be tracked and a command is available to show the profanities for a user.
|
||||
|
||||
==== Post targets
|
||||
@@ -229,7 +228,7 @@ Show the profanities of a member::
|
||||
Feature key `reportReactions`
|
||||
|
||||
This functionality is used to report user by members via adding a reaction to a message. This message is then send to the post target `reactionReports`
|
||||
notifying the moderation of the server. Additional reports of the same user, within the cooldown defined by system config `reactionReportCooldownSeconds` in seconds, increment the report counter instead of adding another notification. A reporting user also cannot report another user within a time range defined by the same system config.
|
||||
notifying the moderation of the server. Additional reports of the same user, within the cooldown defined by system config `reactionReportCooldownSeconds` (in seconds), increment the report counter instead of adding another notification. A reporting user cannot report another user within a time range defined by the same system config.
|
||||
|
||||
==== Relevant system configuration
|
||||
`reactionReportCooldownSeconds` The amount of seconds between the reports to create a new report for a user. The amount of seconds necessary for a new report of a user to be reported again. Default: 300
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Mod mail
|
||||
|
||||
This feature enables users to contact the moderation of the server in a private manner. This can be initiated by messaging the Abstracto bot.
|
||||
This feature enables users to contact the moderation of the server in a private manner. This can be initiated by messaging the bot.
|
||||
The messages, in the channel which is created to contain the mod mail thread, are not automatically sent to the user, but only when using the commands
|
||||
`reply` or `anonReply`. Any other message is ignored with the intention of enabling discussions within the channel. In case the message of a message sent to the user
|
||||
needs to be updated or deleted, you can do simply by editing/deleting the message containing the command.
|
||||
@@ -11,11 +11,11 @@ Feature key: `modmail`
|
||||
`MANAGE_CHANNEL` to create the channels representing the mod mail threads
|
||||
|
||||
==== Workflow
|
||||
* User messages the Abstracto bot
|
||||
* If Abstracto is active in multiple servers with mod mail enabled, the user is prompted to which server he wants to open a mod mail thread for.
|
||||
* User messages the bot
|
||||
* If the bot is active in multiple servers with mod mail enabled, the user is prompted to which server they want to open a mod mail thread for.
|
||||
* A channel in the mod mail category is created for the user and notification is sent that a new mod mail thread has been opened
|
||||
* User can send messages in the private channel and they get relayed to this created text channel.
|
||||
* Moderators can answer in the thread with the respective commands
|
||||
* Moderators can answer in the thread with the commands
|
||||
* Moderators close the thread
|
||||
* The interactions between the user and the moderators gets logged in the mod mail logging channel
|
||||
|
||||
@@ -29,10 +29,8 @@ Feature key: `modmail`
|
||||
`modmailLog`:: Will be used to log the interactions when a thread is closed.
|
||||
|
||||
==== Feature modes
|
||||
`log`:: If this is enabled, the messages should be logged into the `modmailLog` post target when the thread is closed (by the respective commands). This is required for the command `closeNoLog` to be available. Enabled by default.
|
||||
`threadMessage`:: If this is enabled, every message which is send via the commands `reply` and `anonReply` will also be sent to the thread in order to have a visualizer how the message looks
|
||||
and to have a clear indication which messages were sent. Enabled by default.
|
||||
|
||||
`log`:: If this is enabled, the messages should be logged into the `modmailLog` post target when the thread is closed (by the respective commands). Makes the command `closeNoLog` available. Enabled by default.
|
||||
`threadMessage`:: If this is enabled, every message which is sent via the commands `reply` and `anonReply` will also be sent to the thread in order to have a visualizer how the message looks and to have a clear indication which messages were sent. Enabled by default.
|
||||
|
||||
==== Emotes
|
||||
* `readReaction` to indicate to the user that the message sent was processed
|
||||
@@ -49,29 +47,28 @@ Removing a role from the roles responsible for managing mod mail threads::
|
||||
* Description: Removes this role from the roles responsible for mod mail threads, which means: this role will no longer be pinged when a new thread is created and this role will also be removed from the roles allowed to execute all commands related to mod mail.
|
||||
Changing the category in which the text channels are created::
|
||||
* Usage: `setModMailCategory <categoryId>`
|
||||
* Description: Sets the category which Abstracto uses to create the text channels containing the mod mail threads. The existing threads will not be migrated automatically.
|
||||
* Description: Sets the category which the bot uses to create the text channels for mod mail threads. The existing threads will not be migrated automatically.
|
||||
|
||||
NOTE: The following commands are only available within a mod mail thread.
|
||||
|
||||
Replying to a mod mail thread::
|
||||
* Usage `reply [text]`
|
||||
* Description: Sends `text` to the user if provided. `text` is optional, because its also possible to only send a picture.
|
||||
* Description: Sends `text` to the user if provided. `text` is optional, because it is also possible to only send an image.
|
||||
Replying anonymously to a mod mail thread::
|
||||
* Usage: `anonReply [text]`
|
||||
* Description: Sends `text` to the user without showing how is the author. Instead the avatar and name of Abstracto will be used.
|
||||
* Description: Sends `text` to the user without showing how is the author, but using the avatar and name of the bot.
|
||||
Enabling notifications of messages sent by the user::
|
||||
* Usage: `subscribe`
|
||||
* Description: Subscribes you to the current thread, and will ping you when a new message from the member arrives.
|
||||
* Description: Subscribes you to the current thread, and will ping you when a new message from the member is received.
|
||||
Disabling notifications of messages sent by the user::
|
||||
* Usage: `unSubscribe`
|
||||
* Description: Removes your subscription from the current thread, and you will no longer be notified when a message from the member arrives.
|
||||
* Description: Removes your subscription from the current thread, and you will no longer be notified when a message from the member is received.
|
||||
Closing the mod mail thread::
|
||||
* Usage: `close [note]`
|
||||
* Description: Closes the thread, deletes the text channel containing the thread and logs the interactions between the member and the moderators in the `modmailLog` post target. (only if `modmail_logging` is enabled)
|
||||
When closing a thread, a closing header with general information will be send and the note will be displayed there.
|
||||
When a thread is closed this way the user is notified of this.
|
||||
* Description: Closes the thread, deletes the text channel containing the thread and logs the interactions between the member and the moderators in the `modmailLog` post target. (only if `log` is enabled)
|
||||
When closing a thread, a closing header with general information will be sent and the note will be displayed there. Closing with this command notifies the user.
|
||||
Closing the mod mail thread without notifying the user::
|
||||
* Usage: `closeSilently [note]`
|
||||
* Description: Closes the thread, deletes the text channel containing the thread and logs the interactions between the member and the moderators in the `modmailLog` post target. (only if `modmail_logging` is enabled)
|
||||
When closing a thread, a closing header with general information will be send and the note will be displayed there.
|
||||
* Description: Closes the thread, deletes the text channel containing the thread and logs the interactions between the member and the moderators in the `modmailLog` post target. (only if `log` is enabled)
|
||||
When closing a thread, a closing header with general information will be send and the note will be displayed there. Closing with this command will *not* notify the user.
|
||||
|
||||
|
||||
@@ -4,19 +4,19 @@ This component will contain multiple features, currently only emote tracking is
|
||||
|
||||
=== Emote tracking
|
||||
This feature is about tracking the usage of emotes from the server and external servers.
|
||||
The intention of this feature is to see what emotes are doing better than others and which emotes might be interesting to add to the server.
|
||||
The intention of this feature is to see what emotes are doing better than others and which emotes might be interesting to add to the server or removed.
|
||||
|
||||
Feature key: `emoteTracking`
|
||||
|
||||
==== Feature modes
|
||||
`emoteAutoTrack`:: If this is enabled, emotes which are created within the server, are automatically stored and tracked. If they are renamed/deleted this will also be reflected automatically. Enabled by default.
|
||||
`externalEmotes`:: If this is enabled, every external tracked emote will be counted. It is also possible to track additional external emotes via the `trackEmote` command. Disabled by default.
|
||||
`autoTrackExternal`:: If this is enabled, every external emote which is used in a message by a server member will be automatically stored and tracked. `externalEmotes` needs to be enabled in order for this to function properly. Disabled by default.
|
||||
`emoteAutoTrack`:: if enabled, emotes which are created within the server, are automatically stored and tracked. If they are renamed/deleted this will also be reflected automatically. Enabled by default.
|
||||
`externalEmotes`:: if enabled, every external tracked emote will be counted. It is also possible to track additional external emotes via the `trackEmote` command. Disabled by default.
|
||||
`autoTrackExternal`:: if enabled, every external emote which is used in a message by a server member will be automatically stored and tracked. `externalEmotes` needs to be enabled in order for this to function properly. Disabled by default.
|
||||
|
||||
==== Commands
|
||||
Creating a newly tracked emote::
|
||||
* Usage: `trackEmote <emote>`
|
||||
* Description: The `enoteName` needs to be a valid usage of an emote. If this emote is part of the server, it will now be automatically tracked.
|
||||
* Description: The `emote` needs to be a valid usage of an emote. If the emote is part of the server, it will be tracked from now on.
|
||||
If the emote was tracked previously, it will be enabled again. For external emotes to be tracked this way, the feature mode `externalEmotes` needs to be enabled. The `emote` can either be a valid usage or the ID of an emote (it can only be an ID if it was previously tracked).
|
||||
Disable tracking for an emote::
|
||||
* Usage: `disableEmoteTracking [emote]`
|
||||
@@ -29,7 +29,7 @@ If there are no emotes of a group, there will be no message.
|
||||
Show emote statistics of emotes in the server::
|
||||
* Usage: `emoteStats [period]`
|
||||
* Description: This command shows the amount each tracked emote from the server has been used overall. If a `period` is supplied, it will only show the amount of usages in that time period. If it is not provided, it will show the whole timeline.
|
||||
Beware that the amount of emotes is only tracked per day. For example, if it is 3PM UTC and you use `18h` as a timeperiod, it will also show the emote statistics for the day before.
|
||||
Beware that the amount of emotes is only tracked per day. For example, if it is 3PM UTC and you use `18h` as a time period, it will also show the emote statistics for the complete previous day.
|
||||
Show emote statistics of emotes previously in the server::
|
||||
* Usage: `deletedEmoteStats [period]`
|
||||
* Description: This command behaves the same way as `emoteStats` with the difference that it shows the emotes which were previously in the server. This means that the output will only show the name and the ID of the emote.
|
||||
|
||||
@@ -11,13 +11,13 @@ Create a reminder::
|
||||
* Example: `remind 1h2m3s text` in order to be reminded in 1 hour 2 minutes and 3 seconds with the reason `text`
|
||||
Cancelling a reminder::
|
||||
* Usage `unRemind <reminderId>`
|
||||
* Description: Cancels this reminder and will cause this reminder to not be executed. Only possible for reminders started by you.
|
||||
* Description: Cancels this reminder and will cause this reminder to not be executed. Only possible for reminders started by the user executing the command.
|
||||
Listing all active reminders::
|
||||
* Usage: `reminders`
|
||||
* Description: Lists all the currently not yet executed reminders and information about each of them.
|
||||
Re-schedule a past reminder::
|
||||
* Usage: `snooze <reminderId> <duration>`
|
||||
* Description: Schedules the reminder identified by `reminderId` to be triggered after `duration` again. It is only possible to do this for reminders which have already been executed. Only possible for reminders started by you.
|
||||
* Description: Schedules the reminder identified by `reminderId` to be triggered after `duration` again. It is only possible to do this for reminders which have already been executed. Only possible for reminders started by the user executing the command.
|
||||
|
||||
|
||||
=== Starboard
|
||||
@@ -50,6 +50,8 @@ Feature key: `starboard`
|
||||
|
||||
`starLvl4` The amount of stars necessary in order for the level 4 emote to be used in the starboard post. Default: 17
|
||||
|
||||
`starMaxDays` The amount of days after which reactions will be ignored: Default: 7
|
||||
|
||||
==== Post targets
|
||||
`starboard`:: The target used for the messages containing the starboard posts with the current star amount
|
||||
|
||||
@@ -61,12 +63,13 @@ Showing starboard statistics::
|
||||
=== Suggestions
|
||||
|
||||
This feature provides the ability for members to post suggestions containing text to the post target `suggestions`. These suggestions can then be accepted or denied by the moderators.
|
||||
An acceppted/vetoed/rejected suggestion will be deleted after two days (default configuration) from the database
|
||||
|
||||
Feature key: `suggestion`
|
||||
|
||||
==== Feature modes
|
||||
`suggestionReminder`:: If this is enabled, a message will be sent to the post target `suggestionReminder`, after the amount of days configured in `suggestionReminderDays`. Disabled by default.
|
||||
`suggestionButton` :: Use buttons instead of reactions for suggestions. Enabled by default.
|
||||
`suggestionReminder`:: if enabled, a message will be sent to the post target `suggestionReminder`, after the amount of days configured in `suggestionReminderDays`. Disabled by default.
|
||||
`suggestionButton` :: if enabled, use buttons instead of reactions for suggestions. Enabled by default.
|
||||
|
||||
==== Post targets
|
||||
`suggestions`:: the target of the messages containing the suggestions
|
||||
@@ -82,21 +85,21 @@ Feature key: `suggestion`
|
||||
==== Commands
|
||||
Creating a suggestion::
|
||||
* Usage: `suggest <text>`
|
||||
* Description: Posts the text to the `suggest` post target and places the emotes for up and down voting. If `suggestionReminder` is enabled, this will create a suggestion reminder.
|
||||
* Description: Posts the text to the `suggest` post target and either adds emotes or buttons for voting. If `suggestionReminder` is enabled, this will create a suggestion reminder.
|
||||
Accepting a suggestion::
|
||||
* Usage: `accept <suggestionId> [reason]`
|
||||
* Description: Re-posts the suggestion identified by `suggestionId` and marks the suggestion as accepted. The optional `reason` will be used in this re-post, if provided. This will cancel the suggestion reminder (if it exists)
|
||||
* Description: Re-posts the suggestion identified by `suggestionId` and marks the suggestion as accepted. The optional `reason` will be used in this re-post, if provided. This will cancel the suggestion reminder (if it exists). This will also show the amount of votes received, but these are only counted when feature mode `suggestionButton` is enabled.
|
||||
* Example: `accept 1 okay` in order to accept the suggestion `1` with the reason `okay`
|
||||
Rejecting a suggestion::
|
||||
* Usage: `reject <suggestionId> [reason]`
|
||||
* Description: Re-posts the suggestion identified by `suggestionId` and marks the suggestion as denied. The optional `reason` will be used in this re-post, if provided. This will cancel the suggestion reminder (if it exists)
|
||||
* Description: Re-posts the suggestion identified by `suggestionId` and marks the suggestion as denied. The optional `reason` will be used in this re-post, if provided. This will cancel the suggestion reminder (if it exists). This will also show the amount of votes received, but these are only counted when feature mode `suggestionButton` is enabled.
|
||||
* Example: `deny 1 not okay` in order to reject the suggestion `1` with the reason `not okay`
|
||||
Removing a suggestion you created::
|
||||
* Usage: `unSuggest <suggestionId>`
|
||||
* Description: This will delete the suggestion identified by `suggestionId` from the channel and the database, but this is only possible within a specified time range. This will cancel the suggestion reminder (if it exists)
|
||||
* Description: This will delete the suggestion identified by `suggestionId` from the channel and the database, but this is only possible within a specified time range (1h by default). This will cancel the suggestion reminder (if it exists)
|
||||
Vetoing a suggestion::
|
||||
* Usage : `veto <suggestion> [reason]`
|
||||
* Description: This command will veto the suggestion, this means, it should be indicated that the suggestion was not rejected by votes, but because it was not acceptable on a fundamental level. This is basically just a different state of the suggestion. This will cancel the suggestion reminder (if it exists)
|
||||
* Description: This command will veto the suggestion, this means, it should be indicated that the suggestion was not rejected by votes, but because it was not acceptable on a fundamental level. This is basically just a different state of the suggestion. This will cancel the suggestion reminder (if it exists). This will also show the amount of votes received, but these are only counted when feature mode `suggestionButton` is enabled.
|
||||
|
||||
=== Miscellaneous
|
||||
|
||||
@@ -107,7 +110,7 @@ Feature key: `utility`
|
||||
==== Commands
|
||||
Retrieving the URL of an emote::
|
||||
* Usage: `showEmote <emote>`
|
||||
* Description: Posts the name of the emote accompanied with the URL where the image of the emote is stored.
|
||||
* Description: Posts the name of the emote accompanied with the URL where the image of the emote is available at.
|
||||
|
||||
Displaying the avatar or a member::
|
||||
* Usage: `showAvatar [member]`
|
||||
@@ -127,14 +130,18 @@ Choose one of multiple options::
|
||||
|
||||
=== Link embeds
|
||||
|
||||
This feature enables the automatic embedding of messages containing a message link.
|
||||
If a message contains a link to a discord message this will create an embed containing the the message content. This supports image attachments, but not videos or files.
|
||||
A reaction/button is placed on the embedded message which can be used to delete this embed. Only the original author and the person creating the embed can delete the embed this way.
|
||||
|
||||
Feature key: `linkEmbeds`
|
||||
|
||||
==== Feature modes
|
||||
`messageEmbedDeleteButton`:: if enabled, uses a button for removal instead of a reaction
|
||||
|
||||
==== Emotes
|
||||
* `removeEmbed` to remove the embed of a link
|
||||
|
||||
This feature enables the automatic embedding of messages containing a message link.
|
||||
If a message contains a link to a discord message this will create an embed containing the the message content. This supports image attachments, but not videos or files.
|
||||
A reaction is placed on the embedded message which can be used to delete this embed. Only the original author and the person creating the embed can delete the embed this way.
|
||||
|
||||
Feature key: `linkEmbeds`
|
||||
|
||||
=== Repost detection and tracking
|
||||
|
||||
@@ -181,7 +188,6 @@ Show the channels for which repost check has been enabled::
|
||||
* Description: Shows the channel groups with their respective channels for which the repost check has been enabled. These can only be channel groups of type `repostCheck`. It can still be enabled if there are now channels in the channel group.
|
||||
|
||||
|
||||
|
||||
=== Entertainment commands
|
||||
|
||||
This feature basically contains a few commands which can be used for entertainment purposes directly
|
||||
@@ -210,7 +216,7 @@ Roll a virtual die::
|
||||
|
||||
Mock the message of another user::
|
||||
* Usage: `mock <text/message>`
|
||||
* Description: Takes the `text` and prints the text with the characters with alternating upper and lower case. If no text is provided, this command requires that the command has been executed in a message which replies to another message. In this case the text to be mocked will be the content of the message which has been replied to.
|
||||
* Description: Takes the `text` and prints the text with the characters with alternating upper and lower case. If no text is provided, this command requires that the command has been executed in a message which replies to another message. In this case the text to be mocked will be the content of the message which has been replied to. If both is provided, a replied message takes precedence.
|
||||
|
||||
Add text as reactions to another message::
|
||||
* Usage: `react <message> <text>`
|
||||
|
||||
Reference in New Issue
Block a user