From Stealth Client

Jump to: navigation, search

Работа с IRC

Описание

в Stealth версии 7.2.0 добавлена поддержка протокола IRC. Возможности:

  • Отправка личных сообщений
  • Заход на канал(в т.ч. с паролем), отправка текста в канал.
  • Получение сообщений из канала\напрямую.
  • Отправка "сырого" текста - где можно использовать любые команды из IRC протокола.

Обязательно выставлять свой ник(через IRCSetNickName) ДО подключения к серверу - иначе некоторые (большинство) сервера вам откажут в подключении.

Событие для IRC - IrcMsgHandler, параметр один - String.


Образец скрипта:

 program test;
 
 procedure IrcMsgHandler(Msg : String);
 begin
   AddToJournal('IrcMsg: "' + Msg + '"');
 end; 
 
 begin
   SetEventProc(evIRCIncomingText,'IrcMsgHandler'); 
   if not IRCConnected then
   begin        
     IRCSetNickName('Vizzz');
     IRCConnect('irc.quakenet.org',6667);
     while not IRCConnected do
       wait(300);
   end;   
   if IRCConnected then
     IRCSay('some1', 'New test from Vizzzz');
   if IRCConnected then
     IRCJoin('#uos');
   if IRCConnected then
     IRCSay('#uos', 'CH test from Vizzzz');    
 
   while True do 
     Wait(500);
 end.


Скриптовые методы по работе с IRC

IRC_rus

IRCConnect

procedure IRCConnect(Host : String;Port : Word);

Подключиться к IRC серверу, адрес и порт в параметрах.


Пример:

 if not IRCConnected then
  begin        
    IRCSetNickName('Vizzz');
    IRCConnect('irc.quakenet.org',6667);
    while not IRCConnected do
      wait(300);
  end;   

IRCConnected

function IRCConnected : Boolean;

Статус подключения к IRC-серверу: True - подключен, False - не подключен

Пример:

if IRCConnected then
    IRCSay('some1', 'New test from Vizzzz');

IRCDisconnect

procedure IRCDisconnect;

Отключается от сервера.


Пример:

 if not IRCConnected then
  IRCDisconnect;   

IRCJoin

procedure IRCJoin(AChannel : String; AKey : String = '' );

Подключиться к каналу с названием AChannel (префикс # обязателен). Можно указать пароль в параметре AKey.

Пример:

if IRCConnected then
  IRCJoin('#uos');

IRCRaw

procedure IRCRaw(ALine: String);

Отправить "сырой" текст серверу, включая команду.

Формат: COMAND_NAME value_text

Пример установки статуса AWAY:

if IRCConnected then
    IRCRaw('AWAY :Games');

Пример покидания канала:

if IRCConnected then
    IRCRaw('PART #uos');

IRCSay

procedure IRCSay(ATarget : String; AMsg : String);

Отправить сообщение нику\в канал.

Ник указывается без префикса, название канала с префиксом #

Пример личного сообщения:

if IRCConnected then
    IRCSay('some1', 'New test from Vizzzz');


Пример сообщения в канал:

if IRCConnected then
    IRCSay('#uos', 'CH test from Vizzzz');

IRCSetNickName

procedure IRCSetNickName(NickName : String);

Поменять\установить свой ник.

Обязательно выставлять свой ник ДО подключения к серверу - иначе некоторые (большинство) сервера вам откажут в подключении.

Пример:

 if not IRCConnected then
  begin        
    IRCSetNickName('Vizzz');
    IRCConnect('irc.quakenet.org',6667);
    while not IRCConnected do
      wait(300);
  end;