R32m3power
Messages postés4Date d'inscriptionmardi 25 novembre 2008StatutMembreDernière intervention25 juillet 2013
-
25 juil. 2013 à 09:15
nooxx
Messages postés19Date d'inscriptionmercredi 3 octobre 2012StatutMembreDernière intervention11 juillet 2014
-
7 janv. 2014 à 03:30
Bonjour à tous.
Je suis débutant en scripting et je crée un bot de modération pour mon salon donc il fonctionne le soucis le code est trop lourd et j'aimerai savoir comment l'optimiser a fond :p donc la principal utilisation du bot est la détection de badwords voici un bout de code :) ne vous moquez pas de moi svp :p
on 1:TEXT:*enquler*:#:{
if (%avert. [ $+ [ $address($nick,2) ] ] == $null && %kick. [ $+ [ $address($nick,2) ] ] == $null) {
set %avert. [ $+ [ $address($nick,2) ] ] 1
.msg #netadmin $nick recoit sont premier avertissement pour son language sur #
.msg $chan $read bot\ainslutes.txt
}
elseif (%avert. [ $+ [ $address($nick,2) ] ] == 1) {
set %avert. [ $+ [ $address($nick,2) ] ] 2
.msg #netadmin $nick recoit sont 2nd avertissement pour son language sur #
.msg $chan $read bot\ainslutes.txt
}
elseif (%avert. [ $+ [ $address($nick,2) ] ] == 2) {
set %avert. [ $+ [ $address($nick,2) ] ] 3
.msg #netadmin $nick recoit sont 3 ème avertissement pour son language sur #
.msg $chan $read bot\ainslutes.txt
}
elseif (%avert. [ $+ [ $address($nick,2) ] ] == 3) {
unset %avert. [ $+ [ $address($nick,2) ] ]
set %kick. [ $+ [ $address($nick,2) ] ] 1
.msg #netadmin $nick recoit sont premier kick pour son language sur #
.kick # $nick $read bot\kinslutes.txt
}
elseif (%kick. [ $+ [ $address($nick,2) ] ] == 1) {
set %kick. [ $+ [ $address($nick,2) ] ] 2
.msg #netadmin $nick recoit sont 2nd kick pour son language sur #
.kick # $nick $read bot\kinslutes.txt
}
elseif (%kick. [ $+ [ $address($nick,2) ] ] == 2) {
unset %kick. [ $+ [ $address($nick,2) ] ]
.msg #netadmin $nick recoit un ban pour son language sur #
.ban -u 3000 $address($nick,2)
.kick # $nick $read bot\kinslutes.txt
}
}
donc voici ma question déjà je suppose que mon code est super lourd donc il y a surement moyen de l'optimiser ensuite es qu'un équivalant du ban -u existe pour le set ?
et pouvons nous regrouper tout les mots a détecter dans un fichier badwords.txt par exemple ?
J'ai pas chercher à changer grand chose. J'ai laisser les actions que tu avais attribués. Jte laisse gerer pour la suite ;)
Amicalement, ArseeniK
nooxx
Messages postés19Date d'inscriptionmercredi 3 octobre 2012StatutMembreDernière intervention11 juillet 2014 7 janv. 2014 à 03:30
Ligne 6 tu as oublié ton echo de debug il me semble
Tes lignes se répétent tu devrais regroupé quand ils font la même chose : ligne 23/25/27 il n'y a qu'une chose qui change c'est ceci 1er,2nd 3ème que tu peux très bien remettre via $replace($v1,1,1er,2,2nd,3,3ème)
7 janv. 2014 à 03:30
Tes lignes se répétent tu devrais regroupé quand ils font la même chose : ligne 23/25/27 il n'y a qu'une chose qui change c'est ceci 1er,2nd 3ème que tu peux très bien remettre via $replace($v1,1,1er,2,2nd,3,3ème)
Dans ton dernier elseif tu as ceci
Pourquoi ne pas rassembler l'ensemble dans ta commande ban ?
C'est tout de même déjà mieux bonne continuation