С приходом нового события в чате поочерёдно из списка запускает скрипты, написанные на простом языке Pascal.
Пока написана только оболочка и один пустой скрипт, который отвечает на простое сообщение "test".
В реальном времени (без перезагрузке бота) можно:
-Добавлять/удалять из списка.
-Поддержка SQL (пока только SQL Access) (если поставить в каталог с ботом-Викторина+RSS, то можно создавать свои команды, управляющие базой)
-Редактировать скрипты в блокноте.
События:
"при загрузке бота" (onStart)
"При закрытии бота" (onClose)
"каждую секунду" (onSecond)
"каждую минуту" (onMinute)
"каждый час" (onHour)
События запускают все скрипты.
Порт прописывается в файле cfgScript.ini
Вот список процедур, для связи скрипта с ботом:
mes(ch,text: string);(отправить сообщение)
tema(ch,text: string);(сменить тему канала)
ban(usr,ch,text: string; ogran, identif, anonim, min:integer);
priv(ch,text: string);(сменить приветствие канала)
privat(usr,ip,text: string); (отправить сообщение в приват)
exitpriv(usr,ip: string); (выйти из приватного канала)
Creatchanel(tipe:integer; usr: string); (создать канал)
mes2(ch,text: string); (опубликовать состояние)
newChanal(text: string); (создать/войти в канал)
todec(HexStr : string) : Integer; (перести hex в dec)
tohex(s: string): string; (перести в hex)
sql(sqlst:string); - Выполнить sql запрос (используется для изменения базы (начинаещиеся с UPDATE,DELET,INSERT)
getsql(sqlst:string):string;- Выполнить sql запрос (используется для получения данных из базы (начинаещиеся с SELECT)
LCase(s: string): string; - все символы в строке переведет в нижний регистр
В архиве есть примеры скриптов:
-WEB интерфейс
-Игра Бутылочка
-"время до нового года"
-тестовый скрипт
з.ы. Кстати, использовал скиновой движок, который разработчики Commforta могли бы применить и для самого чата.
