[ Astral Projection @ 16.06.2006. 12:42 ] @
Interesuje me imate li tutoriale za xchat scripting u perlu. Interesuje me kako da napisem auto-slap :)
Znaci kad mi neko odradi /me slaps da mu xchat vrati isto to.
[ anrxc @ 16.06.2006. 22:04 ] @
Code:

import xchat, string, random, re

__module_name__ = 'autoslap'
__module_version__ = '0.1'
__module_description__ = 'Auto. slap back...'

objects = ['an apple', 'skoda felicia', 'a get a life HOWTO', 'a guitar']

def slap(word, word_eol, userdata):
    trig = re.split(' ',string.lower(word[1]))
    sender = word[0].strip('x0319')
    if trig[0] == 'slaps' and trig[1] == xchat.get_info('nick'):
        xchat.command('me slaps %s with %s' % (sender, random.choice(objects)))
    return xchat.EAT_NONE

xchat.hook_print('Channel Action Hilight', slap)
print 'Auto slap ready'

http://labix.org/xchat-python

Navodno ce irssi uskoro dobiti Python podrsku... eto nemoj se ljutit sto nije Perl, bilo mi je zanimljivo :)
[ Astral Projection @ 17.06.2006. 00:51 ] @
U medju vremenu sam napisao neki pokusaj skripte za auto slapback

Code:
Xchat::hook_server("PRIVMSG", "autoslap");
sub autoslap { 
    my ( $linea ) = $_[1][0];
    $nick = IRC::get_info(1);
    $linea =~ /:(.*)!(.*@.*) .*:(.*)/;
    if ($linea =~ /slaps $nick/) {
    IRC::command("/me slaps back");
    }
  return Xchat::EAT_NONE;
 }


E sad kad me neko slapuje ovo valjda vrati /me slaps back, ali mi Xchat izbaca prvo [JA] slaps back i tek onda slap koji mene slapuje (treba obratno :)).

BTW, hvala za piton skriptu, ali mi ne radi.. ne znam je li do mene, ali kad me neko slapuje nista se ne desava :)
[ anrxc @ 17.06.2006. 09:37 ] @
Testirao sam sa 2.6.2, gdje je namjesten hilight kod spomena vlastitog nicka, bitan je ovaj hook, mozda je kod tebe dovoljan samo
hook_print('Channel Action'... , pogledaj pod "Settings - Advanced - Text events" dostupne evente.... ili mozes ici sa hook_server kao u svojem skriptu, no blesavo je da provjerava svaku mogucu liniju koja prode, pogotovo ako si na prometnom kanalu.
[ Astral Projection @ 17.06.2006. 12:00 ] @
Brate ne znam je li to do mene ali mi opet ne radi. Probao sam samo hook_print(Channel Action... Znaci nista..

Interesuje me da li mogu da koristim ovo hook_print u perlu? Xchat::hook_print(Channel Action...? I kako se tacno to koristi? :)
[ Astral Projection @ 17.06.2006. 15:12 ] @
OK vidio sam da moze, ali me interesuje jedna stvar..
kad stavim npr Xchat::hook_print("Channel Action Hilight", "autoslap"); u text events mi pise za hilight [16:08:48] *$t$1 $2
Znaci $1 je nick a $2 text. Kako da koristim ovo $1 i $2 u skripti?