mirror of
https://github.com/InsanusMokrassar/docs.git
synced 2024-11-23 18:48:54 +00:00
small docs actualization
This commit is contained in:
parent
c7e552ebb5
commit
6e7cf1cb0e
@ -1,4 +1,6 @@
|
||||
# Colors [![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/micro_utils.colors.common/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/micro_utils.colors.common)
|
||||
# Colors
|
||||
|
||||
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/micro_utils.colors.common/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/micro_utils.colors.common)
|
||||
|
||||
* `Group`: `dev.inmo`
|
||||
* `ArtifactId`: `micro_utils.colors.common`
|
||||
|
@ -1,10 +1,40 @@
|
||||
# Startup [![Maven Central](https://img.shields.io/maven-central/v/dev.inmo/micro_utils.common?label=latest_version&style=flat-square)](https://github.com/InsanusMokrassar/MicroUtils)
|
||||
# Startup
|
||||
|
||||
[![Maven Central](https://img.shields.io/maven-central/v/dev.inmo/micro_utils.common?label=latest_version&style=flat-square)](https://github.com/InsanusMokrassar/MicroUtils)
|
||||
|
||||
* **Plugins Package**: `dev.inmo:micro_utils.startup.plugin`
|
||||
* **Launcher Package**: `dev.inmo:micro_utils.startup.launcher`
|
||||
|
||||
This package contains unified simple `Plugin`/`Launcher` tools for separating of your apps parts
|
||||
|
||||
Launching logic:
|
||||
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
StartLauncherPlugin.startAsync
|
||||
StartLauncherPlugin.startAsync --> KoinInit["Koin.init"]
|
||||
KoinInit --> StartLauncherPlugin.setupDI
|
||||
|
||||
|
||||
subgraph StartLauncherPlugin.setupDI
|
||||
direction LR
|
||||
AddDefaultDependencies["Default dependencies: config as JsonObject, config as object, CoroutineScope, Json"]
|
||||
SubPluginsSetupDI["Calling setupDI in subplugins"]
|
||||
AddDefaultDependencies --> SubPluginsSetupDI
|
||||
end
|
||||
|
||||
StartLauncherPlugin.setupDI --> startKoin
|
||||
startKoin --> StartLauncherPlugin.startPlugin
|
||||
|
||||
subgraph StartLauncherPlugin.startPlugin
|
||||
direction LR
|
||||
LaunchSubplugins["Asynchronously (in CoroutineScope from Koin) start subplugins"]
|
||||
end
|
||||
|
||||
StartLauncherPlugin.startPlugin --> ReturnKoinAppAndLaunchJob["Return koinApp and laucnhing job"]
|
||||
```
|
||||
|
||||
## Plugin
|
||||
|
||||
To define plugin, you must use `StartPlugin` as supertype for your plugin. Restrictions are simple: plugins must be an `object` or `class` with empty constructor. Basic sample is here:
|
||||
|
@ -9,8 +9,10 @@
|
||||
|
||||
Plugin is a partially independent part of bot. Plugin have several parts:
|
||||
|
||||
* `setupDI` - this method should be used to configure DI part of module
|
||||
* `setupBotPlugin` - method to start/configure your bot actions
|
||||
* `setupBotClient` - method to configure telegram bot in case you need it. Called synchronously when `TelegramBot`
|
||||
initializing in `single` in `setupDI` of `PlaguBot`
|
||||
* `setupBotPlugin` - method to start/configure your **bot** actions. Called asynchronously in `buildBehaviourWithFSM`
|
||||
in `startPlugin` of `PlaguBot`
|
||||
|
||||
Plugin realization should be an `object` or `class` with empty constructor.
|
||||
|
||||
@ -20,6 +22,11 @@ Most important of bot is `main` function (full reference: `dev.inmo.plagubot.App
|
||||
|
||||
Bot is initializing with the next algorithm:
|
||||
|
||||
|
||||
---
|
||||
|
||||
**OLD**
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
main["Main"]
|
||||
|
Loading…
Reference in New Issue
Block a user