Main

<<< Модули системы

Шаблоны поведения

Данный модуль предназначен для настройки реакции системы на определённые события либо последовательность событий. В данном случае, под событием понимается оповещение системы о чём либо (с помощью команды say).

Эта же часть используется для обработки команд от пользователя в чате. Т.е. вы пишите в чате команду и по этим шаблонам она обрабатывается.

Т.е. принцип таков -- система оповещает пользователя какими-то фразами о происходящем (т.е. добавлением сообщения в общий чат), а данный модуль, после каждого оповещения, смотрит какому из сценариев эти оповещения соотвествуют.

Форма добавления/редактирования шаблона поведения:

Поля:

Название -- название сценария

Шаблон -- шаблон, с которым происходит сравнение. В поиске шаблона учавствуют не только оповещения от системы, но и команды (в том числе голосовые), данные пользователем. В самом простейшем случае можно сделать шаблон, состоящий из одного предложение, при появлении которого, будет выполнена нужная команда. Шаблон может включать неопределённые последовательности, а не только конкретные слова. Эти последовательности могут указыватся через синтаксис регулярных выражений (см. документацию по языку программирования PHP).

Ограничение по времени, секунд -- время, за которое выбирается последовательность оповещений для поиска в них соответствия шаблону (если 0, то берётся последнее количество команд, равное количеству строк вышеописанного шаблона)

Выполнить при совпадении -- действия, которые необходимо произвести, если шаблон будет выявлен (выполняется заданный скрипт, либо конкретный код). Замечание -- команда say внутри данного кода не инициирует повторный поиск шаблона для предотвращения бесконечного цикла поиска.

Обсуждение контекстов на форуме

Пример

  • Название: Повтори за мной
  • Шаблон: Повтори за мной (\w*)
  • Код:
$message_text="Вы сказали:". $original ."
Ваши слова:";

// Разбираем предложение на слова
// Надо учесть, что длинна $message_text имеет ограничения
$keywords = preg_split("/[\s,]+/",$original); 
$total=count($keywords);
for($i=0;$i<$total;$i++) {
	$message_text=$message_text." \nСлово №".$i.": ".$keywords[$i];
}
say($message_text);

// Получаем переменные из шаблона с помощь встроенных функций.
$total=count($matches);
$message_text="Вся строка с переменными: ".$matches[0] . "
Количество переменных: ".$total."
Переменная №1: ".$matches[1];

say($message_text);

// Установка свойства объекта на основании полученной переменной
sg("Объект.Свойство",$matches[1);

context_getuser(); - Получить пользователя из контекста
context_clear(); - сбросить контекст
context_activate(ID); - активировать/перейти в контекст ID\\

 

Gearbest Устройства для Умного Дома из Китая
Устройства для Умного Дома из Китая
Gearbest Комплектующие для Умного Дома из Китая
Комплектующие для Умного Дома из Китая

Информация

Проекты

Партнёры

edit SideBar

 
Facebook
 
ВКонтакте
 

 

Blix theme adapted by David Gilbert, powered by PmWiki