uses SysUtils, ICQ;
const
ICQ_UIN = 123456; // ICQ на которую будет заходить бот
ICQ_PASSW = 'passw'; // Пароль для входа
ICQ_CONTACT = 11223344; // ICQ кому нужно писать
type
TMyICQ = class(TICQ) // Объявляем свой класс, наследуемый от TICQ
public
procedure OnMessageRecv(Sender: TObject; Msg, UIN: string); override; // переобозначаем событие на входящие сообщения
end;
var
MyICQ: TMyICQ;
IcqLog: boolean = false;
procedure TMyICQ.OnMessageRecv(Sender: tobject; Msg, UIN: string);
begin
if (UpperCase(Msg) = 'Y') then begin // если нам ответили да, то
MyICQ.SendMessage(ICQ_CONTACT, 'ОК! Начинаю логировать...'); // пишем сообщение в ответ
IcqLog:= true; // и включаем логирование
end;
end;
procedure Log(S: string);
begin
if IcqLog then MyICQ.SendMessage(ICQ_CONTACT, S);
end;
procedure OnFree; //Вызывается перед остановкой скрипта, для очистки ресурсов
begin
Log('Отключаюсь');
IcqLog:= false;
MyICQ.Free;
end;
procedure Fight;
begin
Log('Иду убивать его: ' + User.Target.Name);
if User.DistTo(User.Target) > 100 then Engine.MoveToTarget(-50);
while (not User.Target.Dead) do Engine.Attack();
Log('Убил моба. Мои HP: ' + IntToStr(User.HP) + '%');
end;
begin
MyICQ := TMyICQ.create;
if MyICQ.Connect(ICQ_UIN, ICQ_PASSW) then begin
MyICQ.SendMessage(ICQ_CONTACT, 'Привет! Это твой бот ' + User.Name);
MyICQ.SendMessage(ICQ_CONTACT, 'Тебе логировать в аську: Y / N ?');
end;
Delay(-1);
end.