Telescript Specification
Данные
Ключевая идея Telescript: вывод, сравнивание и манипуляция переменных.
Переменная может хранить любое JSON-корректное значение.
Переменная может быть глобальной (доступной всем пользователям бота) или локальной (доступной определенному пользователю бота).
Название глобальной переменной всегда начинается с символа $
.
Название локальной переменной никогда не начинается с символа $
.
Переменная может быть изменена с помощью:
- Интерфейса Telescript
Глобальные переменные:
Мои боты --> Выбранный бот --> Люди --> Глобальные переменные
Локальные переменные:
Мои боты --> Выбранный бот --> Люди --> Выбранный пользователь - Компонента «Запись» в команде типа «Поток»
Переменная может быть отображена с помощью выражений.
Системная локальная переменная, это переменная которая создана автоматически и не подвергается манипуляции.
Список системных локальных переменных:
id
username
full_name
first_name
last_name
last_message
Выражения
Выражения (Handlebars) предназначены для вывода переменных.
Выражения могут быть использованы для:
- Вывода значения переменной
- Создания новой переменной на основе выражения
- Сравнивания переменных для достижения условий
Вспомогательные функции
Команды
Telescript построен вокруг работы с командами, так как первое взаимодействие пользователя и бота начинается с команды /start
.
Команды делятся на типы:
- Меню
- Поток
Команда «Меню»
Тип команды «Меню» имеет два основных раздела: сообщения и кнопки.
При переходе в команду «Меню», пользователю отправляются установленные сообщения и кнопки.
Сообщения
Сообщение в команде «Меню» это обычное Telegram сообщение. Например: текст, картинка, видео, аудио и так далее.
Сообщение может иметь выражение.
Каждое сообщение можно:
- Удалить
- Обусловить
- Дублировать
- Редактировать
- Приостановить
- Передвинуть (вверх/вниз)
- Переместить (в другую команду)
К каждому сообщению есть возможность прикрепить кнопку.
Кнопка прикрепленная к сообщению может быть одним из двух типов:
- Ссылочная кнопка
Ссылочная кнопка может иметь текст с выражением.
В ссылочную кнопку, вы можете вставить любуюhttp
/https
. По нажатию на ссылочную кнопку — откроется установленная ссылка.
Ссылочная кнопка может появляться по заданному условию. - Перенаправляющая кнопка
Перенаправляющая кнопка может иметь текст с выражением.
В перенаправляющую кнопку, вы можете вставить название команды. По нажатию на перенаправляющую кнопку — Telegram-бот перенаправит пользователя на установленную команду.
Перенаправляющая кнопка может появляться по заданному условию.
Каждую прикрепленную кнопку можно:
- Удалить
- Обусловить
- Редактировать
- Передвинуть (вверх/вниз/влево/вправо)
Кнопки
Чтобы создать кнопку, в команде «Меню» должно быть создано минимум 1 сообщение.
Кнопка это обычная Telegram-кнопка быстрого ответа.
Кнопка может иметь текст с выражением.
Каждую кнопку можно:
- Удалить
- Обусловить
- Редактировать
- Передвинуть (вверх/вниз/влево/вправо)
В кнопку, вы можете вставить название команды. По нажатию на кнопку — Telegram-бот перенаправит пользователя на установленную команду.
Кнопка может появляться по заданному условию.