Go to file
2022-07-09 21:09:13 +06:00
.github/workflows Initial commit 2022-07-09 19:37:03 +06:00
gradle update versions toml 2022-07-09 20:52:47 +06:00
src/main/kotlin fill README 2022-07-09 21:09:13 +06:00
_config.yml Initial commit 2022-07-09 19:37:03 +06:00
.gitignore Initial commit 2022-07-09 19:37:03 +06:00
build.gradle initialization 2022-07-09 20:49:33 +06:00
changelog_parser.sh initialization 2022-07-09 20:49:33 +06:00
CHANGELOG.md initialization 2022-07-09 20:49:33 +06:00
github_release.gradle initialization 2022-07-09 20:49:33 +06:00
gradle.properties initialization 2022-07-09 20:49:33 +06:00
gradlew Initial commit 2022-07-09 19:37:03 +06:00
gradlew.bat Initial commit 2022-07-09 19:37:03 +06:00
LICENSE Initial commit 2022-07-09 19:37:03 +06:00
publish.gradle initialization 2022-07-09 20:49:33 +06:00
publish.kpsb initialization 2022-07-09 20:49:33 +06:00
README.md fill README 2022-07-09 21:09:13 +06:00
settings.gradle initialization 2022-07-09 20:49:33 +06:00

PlaguBotCommandsPlugin

Maven Central

This plugin has been created for centralized work with commands in your plugins.

How to use

End user should include in his plugins section next line:

...
"plugins": [
  ...,
  "dev.inmo.plagubot.plugins.commands.CommandsPlugin"
],
...

Then, in your plugin you should register your commands. Just pass them inside setupDI as BotCommandFullInfo:

// ... Your plugin code
    override fun Module.setupDI(database: Database, params: JsonObject) {
        // ...
        single { BotCommand("commandExample", "Command description").full() }
        // ...
    }
// ...

You may pass info full extension:

Runtime commands changing

In runtime you may change the commands of bot using CommandsKeeper. The instance of CommandsKeeper can be retrieved from koin via simple koin.get<CommandsKeeper>() or koin.commandsKeeper:

// ...
    override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
        val commandsKeeper = koin.commandsKeeper
        // ... Some your code
        commandsKeeper.addCommand(BotCommand("commandExample", "Command description"))
        // ... Some your code
    }
// ...

Just as in the code above (in setupDI) you may pass all the command environment and it will be automatically updated for bot.

How to include

Add dependency:

Gradle:

api "dev.inmo:plagubot.plugins.commands:$commands_version"

Maven:

<dependency>
    <groupId>dev.inmo</groupId>
    <artifactId>plagubot.plugins.commands</artifactId>
    <version>${$commands_version}</version>
</dependency>