mirror of
https://github.com/InsanusMokrassar/PlaguBot.git
synced 2025-09-15 13:29:46 +00:00
fill readme + rename fallback state handler
This commit is contained in:
25
README.md
25
README.md
@@ -16,3 +16,28 @@ You can create your bot using
|
||||
|
||||
That is a set of libraries for plagubots. Look at the
|
||||
[PlaguBot Plugin template](https://insanusmokrassar.github.io/PlaguBotPluginTemplate/) 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](https://bookstack.inmo.dev/books/telegrambotapi/page/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:
|
||||
|
||||
```kotlin
|
||||
single<StatesManager<State>> {
|
||||
// setup your manager and return here
|
||||
// Default is:
|
||||
DefaultStatesManager(
|
||||
InMemoryDefaultStatesManagerRepo()
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
Besides, you may setup handling errors lambda in the same function:
|
||||
|
||||
```kotlin
|
||||
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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user