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
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.
Xchat::hook_server("005", r005 ); ena paradeigma gia raw events.
(http://www.mirc.net/raws/ h lista me ola ta irc raws)
As kanoume kai ena /command script twra me thn idia peripou logikh.
kanoume register to script
kanoume register thn entolh, /learn_perl

[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)
);
'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.
}
#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.
);
"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!")
}
#do something...
#edw kanoume oti theloume
system("firefox http://perldoc.perl.org");
Xchat::print("Done!")
}