Plugins-oriented bot
Go to file
InsanusMokrassar 18019c37ea remove expicit KSLog dependency 2023-11-26 19:29:29 +06:00
.fleet start 3.2.0 2022-12-05 15:31:19 +06:00
.github/workflows update dependencies 2023-11-05 20:52:30 +06:00
badges update readme 2020-11-12 13:45:23 +06:00
bot remove expicit KSLog dependency 2023-11-26 19:29:29 +06:00
gradle remove expicit KSLog dependency 2023-11-26 19:29:29 +06:00
plugin update dependencies 2023-11-05 20:52:30 +06:00
.gitattributes Initial commit 2020-11-08 19:04:44 +06:00
.gitignore update dependencies and add logging 2022-06-11 19:15:09 +06:00
CHANGELOG.md remove expicit KSLog dependency 2023-11-26 19:29:29 +06:00
LICENSE Initial commit 2020-11-08 19:04:44 +06:00
README.md fill readme + rename fallback state handler 2022-08-13 20:37:17 +06:00
_config.yml Set theme jekyll-theme-cayman 2020-11-12 13:34:22 +06:00
build.gradle conflicts resolvers customization 2023-10-01 15:28:00 +06:00
changelog_parser.sh add github workaround 2020-11-12 12:03:33 +06:00
github_release.gradle Update github_release.gradle 2022-07-09 09:47:34 +06:00
gradle.properties Update gradle.properties 2023-11-26 18:49:43 +06:00
gradlew Initial commit 2020-11-08 19:04:44 +06:00
gradlew.bat Initial commit 2020-11-08 19:04:44 +06:00
settings.gradle remove redundant modules 2022-08-13 20:09:21 +06:00
template.config.json improve reconnect feature 2022-09-04 15:07:30 +06:00

README.md

PlaguBot

For users

Template: Use template

You can create your bot using this template by following of its instructions

For developers

Template: Use template
Bot version: Maven Central
Plugin version: Maven Central

That is a set of libraries for plagubots. Look at the PlaguBot Plugin template to find how to create your bot.

Technical help

In this bot has been used variant with FSM. That means that you may use all the Behaviour Builder with FSM functionality. In case you wish to setup states repo, you should use the next code in the setupDI of your plugin:

single<StatesManager<State>> {
    // setup your manager and return here
    // Default is:
    DefaultStatesManager(
        InMemoryDefaultStatesManagerRepo()
    )
}

Besides, you may setup handling errors lambda in the same function:

single<StateHandlingErrorHandler<State>> {
    { state, e ->
        logger.eS(e) { "Unable to handle state $state" } // logging by default
        null // you should return new state or null, default callback will return null
    }
}