Bon voilà .. le code qui suit est senser fonctionner. Les variables sont correctes ... mais le code marche seulement lorsque je rentre dans le code du kick le canal exact (ex: /KICK #blablabla $newnick <raison>)
Ma question : comment faire pour qu'il détecte le chan (oui j'ai essayer $chan pis celà ne fonctionne pas .. il me dit <nick> No such channel ) ... j'ai aussi essayer # tout seul et celà ne fonctionne pas plus ... je me demande si mon on ^*:nick: est correct ... mais je trouve ça bien bizarre!
Merci de m'aider!
#nickdect on
on ^*:nick: {
/set %i 0
:boucle
inc %i
if ( %i > $gettok(%yeule,0,44) ) { goto fin }
if ( $gettok(%yeule, %i ,44) !isin $newnick ) {
goto boucle
}
else {
/KICK $chan $newnick Nick non permit !
halt
}
:fin
/unset %i
}
#nickdect end
** le reste du code c'est le dialog box **
alias detecteur { dialog -m decteur decteur }
dialog decteur {
title "Nick Detector"
size -1 -1 110 100
option dbu
text "liste des mots detectables ", 1, 10 10 150 10
list 2, 10 20 60 65 , size,
button "ajouter", 3, 70 20 30 10,flat
edit " ", 4, 10 80 60 10,autohs
button "Fermer", 5, 70 55 30 10, ok,flat
button "Activer" ,6, 70 35 30 10,flat
button "Desactivé" ,7, 70 45 30 10,flat
edit " ", 8, 70 65 30 10, read center
button "suprimer" ,9, 70 80 30 10 , flat
}
on *:dialog:decteur:init:0:{
set %itr 1
while ( %itr <= $gettok(%yeule,0,44) ) {
did -a decteur 2 $gettok(%yeule,%itr,44)
inc %itr
}
did -ra decteur 8 %state
}
on *:dialog:decteur:sclick:3:{
if ( $did(4) = $chr(160) ) { halt }
if ( $findtok( %yeule , $did(4) ,1,44 ) = $null ) {
did -r decteur 2
var %nouveau = $did(4)
/set %yeule %yeule $+ , $+ %nouveau
did -r decteur 4
set %itr 1
while ( %itr <= $gettok(%yeule,0,44) ) {
did -a decteur 2 $gettok(%yeule,%itr,44)
inc %itr
}
}
}
on *:dialog:decteur:sclick:6:{ /set %state Activer | .enable #nickdect | did -ar decteur 8 %state }
on *:dialog:decteur:sclick:7:{ /set %state Desactivé | .disable #nickdect | /did -ar decteur 8 %state }
on *:dialog:decteur:sclick:9:{
set %supr $did(2,$did(2).sel)
set %pos $findtok(%yeule,%supr,1,44)
set %yeule $deltok(%yeule,%pos,44)
set %itr 1
did -r decteur 2
while ( %itr <= $gettok(%yeule,0,44) ) {
did -a decteur 2 $gettok(%yeule,%itr,44)
inc %itr
}
}
Merci d'avance, François