Program ICQ;
{
Autor: Half-Life;
Description: Сканирует журнал. При нахождении в нём определённого сообщения делает отстук в аську.
UOStealthClientVersion: 6.4.0;
Warning! Будьте бдительны! - Администрация многих игровых серверов враждебно относится к использованию стелс клиента на своих серверах. Заподозрив вас в использовании стелс клиента и других неправославных программ они начинают сатанеть и в порыве слепой ярости могут попасть по вам Банхаммером;
}
const
ICQUIN=''; // Номер вашей аськи.
ICQPWRD=''; // Пароль от вашей аськи.
JournalText=''; // Сообщение которое нужно найти в журнале
DestinationUIN=ICQUIN; // Номер аськи в которую будет приходить сообщение. Если нужно что бы отстук был не в вашу аську, вместо ICQUIN ведите номер аськи в одиночных кавычках. Например: '123456789'
DestinationMsg='Случилось событие.';
var
LowLine,HighLine:Integer;
D:TDateTime;
procedure CheckConnect;
begin
if Connected then Exit;
while not Connected do begin
Connect;
AddToSystemJournal('Коннектимся...');
Wait(10000);
end;
AddToSystemJournal('Законнектились.');
end;
procedure ConnectICQ;
var
i:Integer;
begin
while not ICQConnected do begin
AddToSystemJournal('Коннектимся к аське...');
ICQConnect(ICQUIN,ICQPWRD);
Wait(5000);
Inc(i);
if i>10 then begin
AddToSystemJournal('Превышен лимит на попытку подконнектиться к аське. Скрипт остановлен.');
Halt;
end;
end;
AddToSystemJournal('Подключились к аське.');
end;
function SearchInJournal:Boolean;
var
i:Integer;
begin
HighLine:=HighJournal;
if LowLine<HighLine then begin
for i:=LowLine to HighLine do begin
If Dead or not Connected then Exit;
if Journal(i)=JournalText then begin
Result:=True;
LowLine:=HighLine;
D:=Now;
Exit;
end;
LowLine:=i;
end;
end;
end;
procedure SendMsg;
begin
if not ICQConnected then ConnectICQ;
ICQSendText(DestinationUIN, 'В '+DateTimeToStr(D)+' '+DestinationMsg);
AddToSystemJournal('В аську было отправлено сообщение: В '+DateTimeToStr(D)+' '+DestinationMsg);
Wait(2000);
end;
begin
CheckConnect;
ConnectICQ;
LowLine:=LowJournal;
repeat
CheckConnect;
if SearchInJournal then SendMsg;
Wait(5000);
until(1<>1)
end.
Должно работать. Но сообщения в аську не приходят. ='(