SCAN OLD NICK

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 16 mars 2008 à 12:42
cs_PaDa Messages postés 1802 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 16 mars 2008 à 19:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46074-scan-old-nick

cs_PaDa Messages postés 1802 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
16 mars 2008 à 19:05
Ripped. :-)

Quitte à modifier ce code et le poster en ton nom, essaie au moins de poster un truc qui marche... Dommage qu'il n'y ait pas "0" dans les notes. Dommage également que tu n'aies même pas réussi à faire marcher l'enregistrement multiple de nicks précédents, qu'il y avait juste à décommenter dans la source originale.

Pour étayer, ci-dessous le code que j'ai fait pour TS4 il y a plus de deux ans :

alias addnickp {
if !$IsProx($1) {
var %a $$1,%h = $gettok($$2,1,124)
if !$hget(NickP,%a) { hadd -m NickP %a %h }
}
}
on *:START:{ hmake NickP 100 }
on *:part:*: { if ($comchan($nick,0) <= 1) { addnickp $site $nick } }
on *:QUIT:{ addnickp $site $nick }
on *:KICK:*: { if ($comchan($knick,0) < 2) { addnickp $gettok($$address($knick,2),2,64) $knick } }
on *:JOIN:#: {
if $h(chat.305) {
if ($hget(nickp,$site)) && !$IsProx($site) && (*!*@ $+ $site != $ial($me)) {
var %npjoin = $hget(nickp,$site)
if ($gettok($nick,1,124) != $gettok(%npjoin,$numtok(%npjoin,32),32)) {
var %oldnick = $gettok(%npjoin,-1,32)
if ($gettok(%oldnick,1,124) != $gettok($nick,1,124)) {
echo -t $chan $event(Nickp,$nick,%oldnick,$site)
if $h(chat.302) { echojpq $event(Nickp,$nick,%oldnick,$site) }
if $h(chat.306) { echoontavu $event(Nickp,$nick,%oldnick,$site) }
if $query(%oldnick) { echo -t $ifmatch $event(Nickp,$nick,%oldnick,$site) }
}
}
}
}
}

.. lui-même proche de celui que j'avais fait pour le script "Psi" il y a plus de 4 ans (ça me rajeunit pas...).
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
16 mars 2008 à 12:42
j'ai beau chercher, je ne vois nul part des sockets :/

l'alias AfficheQuery n'existe pas ... merci de le rajouter ou de le substituer par une commande équivalente

c'est tout de même marrant que dans un cas tu utilises <= 1 et dans l'autre < 2 :D

tu n'as pas besoin du hmake si tu as déjà hadd -m

*!*@ $+ $site <=> $wildsite

if ($gettok(%oldnick,1,124) != $gettok($nick,1,124)) {
pourquoi cette ligne ? Tous les serveurs n'ont pas la même présentation ...

juste pour info, les { } ne sont pas obligatoires si tu n'as qu'une ligne et qu'une commande, exemple :
on *:KICK:*:if ($comchan($knick,0) <= 1) addnickp $gettok($$address($knick,2),2,64) $knick
Rejoignez-nous