cs_freenaute
Messages postés147Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention 6 avril 2009
-
5 oct. 2007 à 06:17
cs_freenaute
Messages postés147Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention 6 avril 2009
-
8 oct. 2007 à 01:51
bonjour tous !
J'ai "compilée" cette remote qui détecte des badwords dans mes PV et répond par kick,donne la raison puis ignore et ferme le PV et ban l'user insultant.
<ol><li>on *:text:*:?:{</li><li> if ( insulte_A isin $1-) /k #nom_du_chan $nick raison</li><li> if ( insulte_B isin $1-) /k #nom_du_chan $nick raison</li><li> if ( insulte_C etc..etc..</li><li> /ignore $nick </li><li> close -m $nick</li><li>/mode # nom_du_chan +b $nick</li><li>}</li></ol>
questions:
- comment faire réagir if (vers un fichier "insultes.txt") pour éviter d'avoir une remote à ralonge avec des "if"qui se succèdent...
- comment ignorer uniquement les PV du $nick
---je ne sais plus faire un timer 30 minutes pour ce ban ...:/
j'avais osé faire ceci::
on *:text:*:?:{ if ( insultes isin $1-) $read(insultes.txt)/k #nom_du_salon $nick raison /ignore $nick close -m $nick /mode # nom_du_chan +b $nick }
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 5 oct. 2007 à 14:54
tu veux utiliser un .txt pour simplifier le code c'est ça ?
tu peux le simplifier autrement :
on *:text:*:?:{
if ($regex($1-,/(^|\s)(test|badword)(\s|$)/)) {
ban -ku300 #tonsalon $nick raison
ignore $nick
close -m $nick
}
}
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 5 oct. 2007 à 13:26
Bonjour,
-pour la detection : tout comme si tu colle dans ton remote cash tes criteres de detection ca va devenir long à la longue, il en va de mm pour le fichier texte et ca risk d'etre assez lent comme systeme vu que tu vas etre obligé de bouclé sur chaque ligne du fichier texte. l'idéal à mon avi serai de faire quelque chose melangeant htable et regex c'est à dire mettre les criteres de detection formaté pour du regex dans une htable et ensuite appeler ton htable pour tes tests mm si c'est un peu plus compliké que du $read.
-pour l'ignore de pv : ignore -p $nick << ca devrai marcher si mes souvenirs sont bon ca
-pour le ban de 30min : ban -u1800 #salon $nick <<< ca doit etre ca il me semble la syntaxe
ensuite sur les codes que tu as mis :
<ol><li>on *:text:*:?:{</li><li> if ( insulte_A isin $1-) /k #nom_du_chan $nick raison</li><li> if ( insulte_B isin $1-) /k #nom_du_chan $nick raison</li><li> if ( insulte_C etc..etc..</li><li> /ignore $nick </li><li> close -m $nick</li><li>/mode # nom_du_chan +b $nick</li><li>}</li></ol>-pose des elseif au lieu de if en cascade
-les "/" ne servent à rien
-verifi peut etre d'etre op avant de kicker ca t'evite d'envoyer des commandes pour rien
-pareil verifi que le nick est present sur le salon ou tu le kickban
on *:text:*:?:{ if ( insultes isin $1-) $read(insultes.txt)/k #nom_du_salon $nick raison /ignore $nick close -m $nick /mode # nom_du_chan +b $nick } - là je devine que tu as essayé de detecté avec un fichier txt, mais de cette facon c'est pas possible tu es obligé de faire une boucle soit sur chaque mot de ta phrase et verif qu'il se trouve dans ton fichier texte soit sur chaque ligne du fichier texte.
et verif si il se trouve dans la phrase.
-si tu veux faire par fichier txt il faut que tu mettes tes criteres avec des wildcards genre "encul*" et ensuite tu boucle sur chak ligne de ton txt. mais dans ce cas là sert toi du "file handling " sinon ton systeme sera super lent.
enfin bref si tu veux faire un truc efficace et propre bon courage y a du taff : )
ISoKa
cs_freenaute
Messages postés147Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention 6 avril 2009 5 oct. 2007 à 18:26
oki bien vu lSoKa, ça va le faire hein ! Cette remote allège des boulays éventuels...c tjrs ça de gagné en économie d'énergie !
donc réponse acceptée aussi hein lSoKa ;) thx
cs_freenaute
Messages postés147Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention 6 avril 2009 5 oct. 2007 à 20:30
ouep ! en une seule ligne, ça aide à se débarrasser parfois d'un user obstiné qui harcèle , en effet! merci à toi wims!
en fait je peux aussi refuser simplement les PV par /mode pseudo -D ce qui est d'une rare efficacité...lol.,
il y a aussi le /mode pseudo +R pour ne recevoir que les PV des users enregistrés sur le serveur...
Le mieux étant de couper sa connexion si on est un ours mal léché, comme ça personne ne fait de PV...
je rève de trouver un addon qui fasse ma vaisselle et mon ménage + servir le p'tit dej !
arffff...
;) merci à tous si kkun trouve cet addon... (ou cet apps)
cs_TropNul
Messages postés340Date d'inscriptiondimanche 18 septembre 2005StatutMembreDernière intervention22 octobre 2009 7 oct. 2007 à 05:56
elo
il serait aussi bien de verifier si la pseudonyme se trouve effectivement sur
un/le salon ou tu es operateur. cela evitera de faire les commandes sanctionnantes
lorsque ce ne sera pas le cas.
ca pourrait ressembler a ce qui suit.
Var %i = 1
While $chan(%i){
Var %c = $v1
If ($nick ison %c) && ($me isop %c) {
[commandes sanctionnantes]
}
Inc %i
}