Help - Search - Members - Calendar
Full Version: Xchat perl scripting >> get started.
#Help Board > Users Section > Βοήθεια για Linux/Unix Clients
zamanfou
Xchat perl scripting >> get started.
http://xchat.org/docs/xchat2-perl.html
[left]
O skopos tou thread einai na ftiaksw dyo poly apla scripts kai na ta eksigisw.
As ksekinoume me ena !trigger script.


Prwta prepei na kanoume register to script sto xchat
CODE
Xchat::register("trigger script",'v0.1','');


Gia na kanei kapoios !command kai na to diabasei to xchat, tha prepei na poume
sto xchat na analyei ta eiserxomena minimata kai na ta elegxei.
To event gia ta minimata einai to PRIVMSG.
CODE
       Xchat::hook_server(
                          'PRIVMSG', # To event. Mporei na einai kai kapoio irc raw.
                          check_msg # check_msg exw onomasei thn function pou tha douleuei gia to event (PRIVMSG)
                          );


Xchat::hook_server("005", r005 ); ena paradeigma gia raw events.
(http://www.mirc.net/raws/ h lista me ola ta irc raws)
CODE
       sub check_msg {
           #olo to eiserxomeno minima einai sto @_.
           #:zamanfou!japh@127.0.0.1 PRIVMSG #chan :kalispera
           #auths ths morfhs einai ena PRIVMSG. Etsi kai to @{$_[0]}
           my $data = "@{$_[0]}"; # Array ref.
           #pame na to kanoume parse me regular expression
           #(http://perldoc.perl.org/perlre.html)
           if ($data =~ /^:.+?\!.+?\@.*? PRIVMSG .+? :!command/) {
               #do something...
               Xchat::print("some text..")
           }
           Xchat::EAT_NONE # den blokaroume tpt.
       }


As kanoume kai ena /command script twra me thn idia peripou logikh.

kanoume register to script
CODE
Xchat::register("command script",'v0.1','');


kanoume register thn entolh, /learn_perl

CODE
Xchat::hook_command(
                         "learn_perl", #Onoma entolhs
                         do_something # Otan grafoume /learn_perl tha trexei auth h function.
                         );


CODE
     sub do_something {
         #do something...
         #edw kanoume oti theloume
         system("firefox http://perldoc.perl.org");
         Xchat::print("Done!")
     }


smile.gif

Aggelos
Eisai theos
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.