June 27, 2020

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-бот перенаправит пользователя на установленную команду.

Кнопка может появляться по заданному условию.