Compare commits

...

2 Commits

Author SHA1 Message Date
932da0549a add readme
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-05 13:03:47 +03:00
a18abc41d4 update .gitignore 2021-09-05 12:24:11 +03:00
3 changed files with 118 additions and 0 deletions

4
.gitignore vendored
View File

@@ -3,6 +3,9 @@ target/
!**/src/main/**/target/ !**/src/main/**/target/
!**/src/test/**/target/ !**/src/test/**/target/
# maven shade plugin
dependency-reduced-pom.xml
### STS ### ### STS ###
.apt_generated .apt_generated
.classpath .classpath
@@ -17,3 +20,4 @@ target/
*.iws *.iws
*.iml *.iml
*.ipr *.ipr

56
stbf-demo/README.MD Normal file
View File

@@ -0,0 +1,56 @@
## Демо приложение
Позволяет запустить простого бота, который будет отвечать на заранее определенные команды,
без программирования логики.
### Запуск
Собрать fat-jar
```shell
mvn package
```
Запустить
```shell
java -jar stbf-demo.jar -t <bot:token> -f <полный путь к конфигу>
```
### Файл конфигурации
Если запустить без указания файла конфигурации бота, то будет использована следующая:
```xml
<flow>
<actions>
<action id="10001" name="start-action" command="/start">Start</action>
<action id="10002" name="help-action" command="/help">Help</action>
</actions>
<screens>
<screen id="20001" name="on-start-screen">
<text>This is demo bot</text>
<keyboard>
<row>
<button actionRef="help-action">Action.name</button>
</row>
</keyboard>
</screen>
<screen id="20001" name="on-help-screen">
<text>This is demo help</text>
<keyboard>
<row>
<button actionRef="help-action">Action.name</button>
</row>
</keyboard>
</screen>
</screens>
<commands>
<command actionRef="start-action" screenRef="on-start-screen" id="30001" name="startCommand"/>
<command actionRef="help-action" screenRef="on-help-screen" id="30002" name="helpCommand"/>
</commands>
</flow>
```
Ее можно использовать как базу для разработки своей.

58
stbf-templates/README.MD Normal file
View File

@@ -0,0 +1,58 @@
## Поддержка шаблонов и конфигурации
### Основные секции
```xml
<flow>
<actions> </actions>
<screens> </screens>
<commands> </commands>
</flow>
```
### Actions
Action - Это действие пользователя бота, которое бот должен обработать
```xml
<action id="10002" name="help-action" command="/help">Help</action>
```
`id`, `name` - идентификаторы узла (экшена)
`command` - команда Telegram, должна начинаться со знака "/"
содержимое тега - вводимый текст, используется как экранная кнопка
### Screens
Screen - то, что бот ответит пользователю,
обычно текст и набор кнопок с действиями.
```xml
<screen id="20001" name="on-start-screen">
<text>This is demo bot</text>
<keyboard>
<row>
<button actionRef="help-action">Action.name</button>
</row>
</keyboard>
</screen>
```
`text` - выводимый текст
`keyboard` - описание клавиатуры
### Commands
Простая команда, при соверщении action будет выведен screen
```xml
<command actionRef="start-action" screenRef="on-start-screen" id="30001" name="startCommand"/>
```
`actionRef` - ссылка на action, может использоваться id или name
`screenRef` - ссылка на screen, может использоваться id или name