Files
stbf/stbf-templates
Ruslan Penkrat 05af2f05a4
All checks were successful
continuous-integration/drone/push Build is passing
[maven-release-plugin] prepare for next development iteration
2021-09-17 21:32:41 +03:00
..
2021-09-14 23:47:04 +03:00

Поддержка шаблонов и конфигурации

Основные секции

<flow>
    <actions>  </actions>
    <screens>  </screens>
    <commands> </commands>
    <media>    </media>
</flow>

Actions

Action - Это действие пользователя бота, которое бот должен обработать, а также соответсвующая кнопка или inline-кнопка.

<action id="10002" name="help-action" command="/help">Help</action>

id, name - идентификаторы узла (экшена)

command - команда Telegram, должна начинаться со знака "/"

requestContact="true|false" - кнопка запроса контактных данных

requestLocation="true|false" - кнопка запроса метоположения

содержимое тега - вводимый текст, используется как экранная кнопка

url - ссылка для inline-кнопки

callbackData - callback данные для inline-кнопки

callbackDataRegexp - regexp для обработки callback программным способом

callbackDataStartWith - префикс, для обработки callback программным способом

Screens

Screen - то, что бот ответит пользователю, обычно текст и набор кнопок с действиями. В качестве текста может задаваться шаблон, контекст передается при программной обработке при установленном TemplateRenderer

        <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>

mediaRef - ссылка на элемент медиа, который будет оправлен ботом

text - выводимый текст

keyboard - описание клавиатуры

Keyboard

Описание клавиатуры

Row

Одна строка кнопок клавиатуры

Button

if - видимость кнопки, значение true, false или имя метода из контекста экрана (для программной обработки)

actionRef - id или name action, описанный в соответсвующей секции

Если кнопка не ссылается на action, то можно задать следующие свойства:

url - ссылка для inline-кнопки

callbackData - callback данные для inline-кнопки

callbackDataRegexp - regexp для обработки callback программным способом

callbackDataStartWith - префикс, для обработки callback программным способом

Commands

Простая команда, при совершении action будет выведен screen. Используется для простых действий, не требующей программной логики.

<command actionRef="start-action" screenRef="on-start-screen" id="30001" name="startCommand"/>

actionRef - ссылка на action, может использоваться id или name

screenRef - ссылка на screen, может использоваться id или name

edit = true|false- исходное сообщение будет отредактировано (актуально для callback)

replace = true|false- исходное сообщение будет удалено, и отправлено новое (актуально для callback, если меняется тип сообщения т.е. сообщение с фото, видео должно быть заменено на текстовое и наоборот)

Media

Описывает медиа-ресурсы, доступные для отправки ботом

    <media>
        <video id="40001" url="https://example.com/video.mp4"/>
        <photo id="40002" url="https://example.com//photo.png"/>
    </media>