added html output for documentation

restructured documentation
added more levels to table of contents
This commit is contained in:
Sheldan
2020-05-11 19:05:59 +02:00
parent b13309a026
commit e89c3b8796
7 changed files with 64 additions and 80 deletions

View File

@@ -1,12 +1,12 @@
=== Abstracto core feature
=== Core
The core feature contains necessary commands in order for Abstracto to function and be configured.
.Emotes
* used as a reaction in case the command completed successfully `successReaction`
* used as a reaction in case the command did not complete successfully `warnReaction`
==== Emotes
* as a reaction in case the command completed successfully `successReaction`
* as a reaction in case the command did not complete successfully `warnReaction`
.Commands
==== 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.
@@ -20,10 +20,10 @@ Changing the system configuration::
Changing emotes Abstracto 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 the bot must be in the server of the custom emote in order to use them.
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.
Clearing the cache::
* Usage: `clearCache`
* Description: Clears the internal cache used by Abstrato. This is necessary if things in the databases were changed and need to be in effect immediately.
* Description: Clears the internal cache used by Abstracto. This is necessary if things in the databases were changed and need to be in effect immediately.
Ping::
* Usage: `ping`
* Description: Prints the latency of Abstracto to the Discord servers.
@@ -90,7 +90,7 @@ 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.
==== What does it mean if a role is immune?
.What does it mean if a role is immune?
A command can take a member as a target, for example `ban`. If a role is considered immune, this means, if the member which is the target of the command has the given role, this command will fail. Not all commands support this feature, but only the following:
* Ban

View File

@@ -1,17 +1,17 @@
=== Experience tracking feature
=== Experience tracking
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.
.Relevant system configuration
==== Relevant system configuration
`minExp` The lower bound of the awarded base experience. Default: 10.
`maxExp` The upper bound of the awarded base experience Default: 25.
`expScale` The multiplier applied after the experience amount was determined. Default: 1.0.
.Commands
==== Commands
Changing the experience scale of the server::
* Usage: `expScale <value>`
* Description: Changes the value of `expScale` on this server to `value`.

View File

@@ -1,22 +1,12 @@
=== Moderation
This feature is split into sub features and they can be enabled individually.
* Moderation
* Warnings
** Warn decay
* Logging
* Muting
[.lead]
Moderation
Feature key: `moderation`
.Post targets
==== Post targets
`banLog`:: Will be used to send a log message containing information about the ban for both `ban` and `banId`. Will still ban if not setup.
`kickLog`:: Will be used to send a log message containing information about the kick. Will still kick if not setup.
.Commands
==== Commands
Ban a member::
* Usage: `ban <member> [reason]`
* Description:
@@ -37,18 +27,17 @@ Change the slow mode in a 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.
* Required bot permission: `MANAGE_CHANNEL` in the respective channel
[.lead]
Warning
=== Warning
This feature can be used to warn specific users if they did something not allowed by the rules.
Feature key: `warnings`
.Post targets
==== Post targets
`warnLog`:: Will be used to send a log message containing information about the warn.
`decayLog`:: Will be used when all the warnings are decayed by a command and logging has been selected.
.Commands
==== Commands
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
@@ -69,26 +58,24 @@ Deleting a warning::
* Description: Deletes the warning identified by `warnId` completely from the database.
[.lead]
Automatic warn decay
=== Automatic warn decay
This feature enables warnings to be decayed after a configurable amount of days. This feature directly depends on the feature `warnings`.
Feature key: `warnDecay`
.Relevant system configuration
==== Relevant system configuration
`decayDays` The amount of days after which a warning gets decayed. Default: 90
.Post targets
==== Post targets
`decayLog`:: Will be used to send the log message containing the information in case a warning is decayed.
.Commands
==== Commands
Decaying all warnings if necessary::
* Usage: `decayWarnings`
* Description: Triggers the decay of the warnings instantly, which means, every not decayed warning on this server older than the configured amount of days will be decayed and the decay will be logged.
[.lead]
Muting
=== Muting
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.
@@ -96,10 +83,10 @@ If the user leaves the guild and rejoins, the mute role will be re-applied.
Feature key `muting`
.Post targets
==== Post targets
`muteLog`:: Will be used to send the log message containing the information in case a member was muted and when the mute ended automatically.
.Commands
==== 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
@@ -113,8 +100,7 @@ Configuring which role to use for muting::
* 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.
Only *one* role can be used as a mute role.
[.lead]
Logging
=== Logging
This feature provides a range of utilities to monitor the server.
The logging includes:

View File

@@ -1,4 +1,4 @@
=== Mod mail feature
=== 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.
@@ -14,14 +14,14 @@ This feature enables users to contact the moderation of the server in a private
Feature key: `modmail`
.Post targets
==== Post targets
`modmailPing`:: Will be used to send the notification when a new thread is opened.
.Emotes
* used to indicate to the user that the message sent was processed `readReaction`
==== Emotes
* to indicate to the user that the message sent was processed `readReaction`
.Commands
==== Commands
Opening a mod mail thread for a user::
* Usage: `contact <member>`
* Description: Creates a new mod mail thread with the `member`. Does not send a notification about the new thread.
@@ -57,12 +57,11 @@ Changing the category in which the text channels are created::
* 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.
[.lead]
Mod mail thread logging
=== Mod mail thread logging
This feature enables the logging of mod mail threads into a channel when they are closed. The individual log messages will have a mod mail header which contains some information about the thread.
Feature key: `modmail_logging`
.Post targets
==== Post targets
`modmailLog`:: Will be used to log the interactions when a thread is closed.

View File

@@ -1,21 +1,10 @@
=== Utility
This feature is split into sub features:
* Reminders
* Starboard
* Suggestions
* Utility
* Link embeds
[.lead]
Reminders
=== Reminders
Provides the ability to schedule reminders.
Feature key: `remind`
.Commands
==== Commands
Create a reminder::
* Usage: `remind <duration> <text>`
* Description: Creates a reminder with `text` which will be triggered after `duration`. This command uses duration parsing. The reminder will ping when the duration has passed and provide
@@ -28,8 +17,7 @@ Listing all active reminders::
* Description: Lists all the currently not yet executed reminders and information about each of them.
[.lead]
Starboard
=== Starboard
Provides the ability to track note worthy posts in a separate channel, identified by the post target `starboard`, because the pins within a channel are limited to 50.
This feature works by users reacting to a message with the appropriate emote. By default this is `&#11088;`, but can be changed via the emote `star`.
@@ -39,19 +27,19 @@ When the poster of the message reacts to the message with a star, this is not co
Feature key: `starboard`
.Emotes
==== Emotes
* to vote on posting something to starboard: `star`
* for the different level of starboard posts:
** Level 1: `star1`
** Level 2: `star2`
** Level 3: `star3`
** Level 4: `star4`
* used as badges in the `starStats` command:
* as badges in the `starStats` command:
** First place: `starboardBadge1`
** Second place: `starboardBadge2`
** Third place: `starboardBadge3`
.Relevant system configuration
==== Relevant system configuration
`starLvl1` The amount of stars necessary to appear on the starboard. Default: 5
`starLvl2` The amount of stars necessary in order for the level 2 emote to be used in the starboard post. Default: 8
@@ -60,23 +48,22 @@ 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
.Commands
==== Commands
Showing starboard statistics::
* Usage `starStats`
* Description: Shows the most starred posts, the member with the most received stars and the members rewarding the most stars.
[.lead]
Suggestions
=== 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.
Feature key: `suggestion`
.Emotes
* used for up-voting a suggestion: `suggestionYes`
* used for down-voting a suggestion: `suggestionNo`
==== Emotes
* for up-voting a suggestion: `suggestionYes`
* for down-voting a suggestion: `suggestionNo`
.Commands
==== 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.
@@ -87,23 +74,21 @@ Deny a suggestion::
* Usage `deny <suggestionId> [note]`
* Description: Re-posts the suggestion identified by `suggestionId` and marks the suggestion as denied. The optional `note` will be used in this re-post, if provided.
[.lead]
Utility
=== Miscellaneous
This feature provides some utility commands.
Feature key: `utility`
.Commands
==== 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.
.lead]
Link embeds
=== Link embeds
.Emotes
* used to remove the embed of a link: `removeEmbed`
==== Emotes
* to remove the embed of a link: `removeEmbed`
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.

View File

@@ -2,13 +2,15 @@
Sheldan https://github.com/Sheldan
1.0, May 10, 2020
:toc:
:toclevels: 5
:sectnums:
:sectnumlevels: 5
:icons: font
Abstracto is a feature rich Discord bot written in Java and uses JDA as the wrapper for the Discord API.
This documentation is split into two parts: Technical documentation and user documentation.
== User documentation
== Glossary
Post target:: Describes the channel where Abstracto will send specific messages to. For example, the command `ban` sends a message containing information about the ban to the `banLog` post target.