= Abstracto Discord Bot Documentation Sheldan https://github.com/Sheldan/abstracto :toc: :toclevels: 5 :sectnums: :title-page: :sectnumlevels: 5 :icons: font == Description 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. == 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. Post targets can be configured with the command `posttarget` and once defined can only be switched to another channel. The bot needs `MESSAGE_WRITE` in the channel in order to send the messages. Decayed warnings:: Warnings have a decayed property, which means it can be marked as inactive, while the warning itself is not deleted. == General information Duration input:: This procedure is done when a command requires a duration as an input, for example `mute`. In order to define a duration: use a positive number followed by one of the following time units: `s`, `m`, `h`, `d` or `w` representing seconds, minutes, hours, days and weeks respectively. Weeks in this case are just a short hand for 7 days. Pagination navigation:: If a pagination is used for the output of a command you can navigate the pages with `◀️` and `▶️` and `⏹️` to close the pagination. Role as parameter:: Whenever a role is a parameter for a command, this can be done by either providing the role ID or mentioning the role. Channel groups:: This concept enables you to group channels together into channel groups and enact certain restrictions or features on this whole group. System configuration:: Some properties can be configured while the bot is running and can be changed for each guild respectively. In the respective features they are noted under `Relevant system configuration`. In order to change this you need to use the command `setConfig` with the provided key and the new desired value. Emotes:: The features have section of the keys of used emotes in the feature, you can change this emote with the `setEmote` command. Feature Modes:: Features can have different modes. This means, a feature behaves differently if the mode is changed. For example: `modmail` has two modes: `log` and `noLog`. In the mode `log` mod mail threads will be logged into the post target `modmailLog` while in the `noLog` mode, this does not happen. This consideration of the modes does depend on the implementation of the features. == Features include::modules/core.adoc[] include::modules/moderation.adoc[] include::modules/modmail.adoc[] include::modules/experience.adoc[] include::modules/assignableRoles.adoc[] include::modules/statistic.adoc[] include::modules/utility.adoc[] include::modules/webservices.adoc[]