Веб-сервисы (WebInform) или триггеры по таймеру

Плагин: WebInform

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

Включение/выключение сервисов производится по команде !isinform. Список сервисов доступен по команде !informlist. Добавить новый сервис можно по команде !informset <название> <общ_период> <инд_период> <ответ>. Название должно соответствовать правилам для ников (тоесть не должно содержать пробелов и недопустимых символов). Общий период - это период выполнения сервиса для отправки информации всем в чат (если возвращается какой-либо текст) или просто выполнение строки триггера. Индивидуальный период отличается от общего тем, что применяется для подписчиков сервиса, тоесть если возвращается какой-либо текст, то он отправляется подписчикам. Общий и индивидуальный периоды могут быть как просто числом, что будет означать период таймера в минутах для выполнения, так и расписанием в формате чч:мм, где указывается время для выполнения сервиса. Можно указывать перечень времени выполнения через запятую без пробелов. Если какой-либо период указан как 0, то этот тип сервиса будет неактивен. Например, если общий период указан как 0, то сервис будет выполняться только для подписчиков, а если период для подписчиков задан как 0, то подписки на сервис не принимаются. Ответ представляет собой строку триггера по правилам добавления ответов для триггеров. Удалить сервис с выбранным названием можно по команде !informdel <название>. Подписаться на сервис с выбранным названием можно по команде !informget <название> <тип>. Если тип указан как 1, то информация будет отправляться в чат. Если тип указан как 2, то информация будет отправляться в приват. Если тип указан как 0, то происходит удаление подписки на сервис.

В файле языковой локализации плагина Text_lang.lua задаются название бота плагина, описание и email. Если константе informerShow в файле Vars.lua присвоено значение 1, то бот плагина виден в списке пользователей, а если 0, то не виден. Константа informerMatCut определяет режим замены мата в тексте при наличии плагина антимата (1 - да, 0 - нет).

База сервисов хранится в файле informerData.lua.

Примеры сервисов:

Новости
Общ. период:    720
Инд. период:    360
Ответ:        {repl:&quot;="'" &lt;="<" &gt;=">" &amp;="&"}{varurl:T:http://img.lenta.ru/r/EX/import.rss,,,"<item>.-<title>.-</title>.-<link>.-</link>.-<description>.-</description>.-<pubDate>.-</pubDate>.-<category>.-</category>.-</item>"<item>.-<title>(.-)</title>.-<link>(.-)</link>.-<description>(.-)</description>.-<pubDate>(.-)</pubDate>.-<category>(.-)</category>.-</item>"\n\t• %1 /%5/ (%4)\n\t%3\n( %2 )\n}[T]{exit}
Это пример новостей.

FakeUsers
Общ. период:    1
Инд. период:    0
Ответ:        {rand:SHARE1:
100000000:5000000000}{rand:SHARE2:100000000:5000000000}{rand:SHARE3:100000000:5000000000}{rand:SHARE4:100000000:5000000000}{rand:SHARE5:100000000:5000000000}{chat:$MyINFO $ALL FakeUser1 Я ненастоящий пользователь1 :) $ $1$fake@user1$[SHARE1]$|}{chat:$MyINFO $ALL FakeUser2 Я ненастоящий пользователь2 :) $ $1$fake@user2$[SHARE2]$|}{chat:$MyINFO $ALL FakeUser3 Я ненастоящий пользователь3 :) $ $1$fake@user3$[SHARE3]$|}{chat:$MyINFO $ALL FakeUser4 Я ненастоящий пользователь4 :) $ $1$fake@user4$[SHARE4]$|}{chat:$MyINFO $ALL FakeUser5 Я ненастоящий пользователь5 :) $ $1$fake@user5$[SHARE5]$|}
Этот пример создаёт сервис отправки один раз в минуту пользователям информации о пяти ненастоящих пользователях с произвольной шарой (эффект присутствия в списке пользователей).

<<< назад | печать | К началу...
PhazaSoft© Экзекутор©
Hosted by uCoz