Home Plug-ins TICQ
НазваниеРезультатОписание
Create - Конструктор класса
Delphi
constructor Create; 
Destroy - Деструктор класса
Delphi
destructor Destroy; override;
Status Cardinal Текущий статус (ONLINE = $00000000; INVISIBLE = $00000100; AWAY = $00000001; NA = $00000005; OFFLINE = $FFFFFFFF;)
Delphi
property Status: Cardinal;
Connect Boolean Подключиться к серверу ICQ
Delphi
function Connect(UIN : Cardinal; const Password : string; const Server : string = 'login.icq.com'; Port : Word = 5190; TimeOut : Byte = 5): Boolean;
Аргументы UIN - номер ICQ под которым требуется войти
const Password - пароль от ICQ
const Server - адрес сервера ICQ
Port - порт сервера
TimeOut - время на попытку подключения (в секундах)
Disconnect - Отключиться от сервера
Delphi
procedure Disconnect;
SendMessage - Отправить сообщение
Delphi
procedure SendMessage(UIN : Cardinal; const Msg : string);
Аргументы UIN - номер получателя
const Msg - текст сообщения
OnError - Вызывается при ошибке (Используется в наследующих классах для перекрытия - override)
Delphi
procedure OnError(Sender : TObject; ErrorType : TErrorType; const ErrorMsg : string); virtual; 
Аргументы Sender - объект-отправитель
ErrorType - тип ошибки
const ErrorMsg - текст ошбки
OnMessageRecv - Вызывается при получении сообщения (Используется в наследующих классах для перекрытия - override)
Delphi
procedure OnMessageRecv(Sender : TObject; Msg, UIN : string); virtual;
Аргументы Sender - объект-отправитель
Msg - текст сообщения
UIN - номер ICQ, от кого пришло сообщение
OnUserOffline - Вызывается при отключении контакта из вашего списка ICQ от сервера (Используется в наследующих классах для перекрытия - override)
Delphi
procedure OnUserOffline(Sender : TObject; UIN : string); virtual;
Аргументы Sender - объект-отправитель
UIN - номер ICQ вышедшего из сети контакта
OnServerDisconnect - Вызывается, если Вы были отключены сервером (Используется в наследующих классах для перекрытия - override)
Delphi
procedure OnServerDisconnect(Sender : TObject; Reason : LongInt; Description : string); virtual;
Аргументы Sender - объект-отправитель
Reason - причина (код)
Description - текстовое описание причины

Пример

uses SysUtils, ICQ;

const ICQUin = 123456;       //ICQ на которую будет заходить бот
      ICQPas = 'passw';      //Пароль для входа
      ICQContact = 11223344; //ICQ кому нужно писать

type
  TMyICQ = class(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 Msg = 'Y' then begin
    MyICQ.SendMessage(ICQContact, 'ОК! Начинаю логировать...');    
    IcqLog := true;
  end;
end;

procedure Log(S: string);
begin
  if IcqLog then MyICQ.SendMessage(ICQContact, 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);
  with Engine do while not User.Target.Dead do Attack(1000);
  Log('Убил моба. Мои HP = ' + inttostr(User.HP) + '%');
end;


begin
  MyICQ := TMyICQ.create;
  if MyICQ.Connect(ICQUin, ICQPas) then begin
    MyICQ.SendMessage(ICQContact, 'Привет! Это твой бот ' + User.Name);
    MyICQ.SendMessage(ICQContact, 'Тебе логировать в аську: Y / N ?');
  end;
  delay(-1);
end.