Задача: розіслати списку користувачів інформацію довільного характеру.
Наприклад, є постачальник інтернет-послуг. Ця організація має підключення певної кількості користувачів, а для спілкування у внутрішній локальній мережі провайдеру використовується MyChat. Часто деякі абоненти невчасно оплачують послуги провайдера або просто забувають про це. Постачальник інтернет-послуг може повідомляти своїх абонентів про необхядність внести абонплату за допомогою MSL – MyChat Script Language. Це вбудована скрипт-машина в MyChat Server. Можливості цієї системи досить великі.
Для початку потрібно створити звичайний текстовий файл, у якому будуть перераховані UIN-и боржників і період, а також файл з текстом повідомлення для них.
Наприклад, файл з UIN-ами "С:\UIN.txt" (формат “user|date”), на комп'ютері з MyChat Server містить текст:
5|01.07.2009-31.07.2009 678|01.07.2009-31.07.2009 4|01.07.2009-31.07.2009 567|01.07.2009-31.07.2009 56|01.07.2009-31.07.2009 456|01.06.2009-31.07.2009 67|01.07.2009-31.07.2009 34|01.07.2009-31.07.2009 5|01.07.2009-31.07.2009 7|01.07.2009-31.07.2009 97|01.06.2009-31.07.2009 44|01.07.2009-31.07.2009 676|01.07.2009-31.07.2009
А файл з текстом повідомлення "C:\MSG.txt" виглядає так:
%user пожалуйста оплатите услугу доступа к сети Интернет, за период %date. В случае неуплаты в течении 2-х рабочих дней — Вы будете отключены
Тепер розглянемо процес створення скрипта, який буде відправляти це повідомлення боржникам кожні 4 години.
Для цього зайдемо у редактор скриптів на сервері:

Та виберемо зі списку подій — виконання скрипта кожні чотири години:

Додаємо наш скрипт:
Program UsersAlerts; Var UsersCount, I, Uin: integer; Str, Msg, ms, Date, User: string; Begin Msg:=''; // получаем количество строк в файле с должниками UsersCount:= GetTextFileLinesCount('c:\uin.txt'); For i:=1 to GetTextFileLinesCount('c:\msg.txt') do Begin // в этом цикле вычитываем файл и склеиваем его в одну строчку LoadLineFromFile('c:\MSG.txt',i,str); Msg:=Msg+str+#13#10; End; For i:=1 to UsersCount do Begin ms:=msg; //сохраняем Msg в ms LoadLineFromFile('c:\UIN.txt',i,str);//вычитываем строку из файла UIN:=strtoint(copy(str,1,pos('|',str)-1));//получаем Uin пользователя Date:=copy(str,pos('|',str)+1,length(str)-pos('|',str));//получаем дату User:=mGetNickFromUIN(UIN);//спрашиваем ник пользователя по его UINу //заменяем в тексте сообщения %user на ник пользователя Insert(User,Ms,pos('%user',ms)); Delete(Ms,pos('%user',ms),5); //заменяем в тексте сообщения %date на дату Insert(Date,Ms,pos('%date',ms)); Delete(Ms,pos('%date',ms),5); //и отправляем сформированное сообщение пользователю mSendPrivateMessage(uin, Ms); End; End.
Це буде виглядати приблизно так:

Натискаємо на іконку з дискетою, зберігаємо скрипт і ставимо галку "Включити скрипт".
Готово, сервер буде виконувати поставлену задачу кожні 4 години та сповіщати боржників.