mslot1
Messages postés30Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention21 mars 2005
-
20 janv. 2003 à 15:02
cs_Joan38
Messages postés3Date d'inscriptionsamedi 22 mai 2004StatutMembreDernière intervention 2 août 2006
-
20 mai 2006 à 16:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Joan38
Messages postés3Date d'inscriptionsamedi 22 mai 2004StatutMembreDernière intervention 2 août 2006 20 mai 2006 à 16:38
Et excuser moi pour satisfaire lebaronrouge, j'ai ajouter unset $+(%,flood,.,$nick) :
on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
unset $+(%,flood,.,$nick)
}
}
}
cs_Joan38
Messages postés3Date d'inscriptionsamedi 22 mai 2004StatutMembreDernière intervention 2 août 2006 20 mai 2006 à 16:17
Lol, mais pour l'amour de dieu testez vos scripts. Vous fait des truc et vous les posté alors qu'il marche pas lol.
Delirium, tu dit "a wi merde" mais tu corrige pas. Il n'y a meme pas verification de si tu est op ou hop ou pas. Moi je met 0/10.
rugbymen : 7/10 a oue quand meme pour un truc qui marche pas c pas mal.
bobjay : tu connais bien la prog en générale ? Et bien pour un script qui contient des kilomètres de lignes superflues ou avec des trucs inutiles il est reussi la ton script ^^
Bon biensur je vous donne le truc qui marche et testé par MOI :
on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
}
}
}
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 6 janv. 2006 à 16:50
Delirium passé le delai la variable n'est pas éffacé :
timer $+ $address 1 3 unset $+(%,flood,$host,$chan)
;si il dit rien, au bout de 3 sec, la variable est effacée
je verifie elle conserve la variable ainsi que le nombre de on text tapé par l'user , ce qui fait que si il retape un text a un moment ou l'autre il atteint le nombre qui le fera jarter , en gros le unset est ok que lorsque il aura été ban et la ok ca l'efface de la variable.
pb entre le :
/timer $+ $address 1 3 /unset $+(%,flood,$host,$chan)
et le
/unset $+(%,flood,$address,$chan)
qui on l'air d'être considéré comme variables diférentes (due certainement au : /timer $+ $address )
InFerNaLeX
Messages postés142Date d'inscriptionlundi 18 octobre 2004StatutMembreDernière intervention 8 juin 2006 17 avril 2005 à 23:12
rugbymen
Messages postés35Date d'inscriptionlundi 31 janvier 2005StatutMembreDernière intervention13 février 2005 21 févr. 2005 à 00:09
bon 7/10
cs_Delirium
Messages postés30Date d'inscriptionvendredi 11 octobre 2002StatutMembreDernière intervention 3 mai 2004 20 mai 2004 à 21:43
Merci pr ton comment... en effet tu as raison pour le $host (dailleur que je me demande pk j'ai mi ça (je devais être bien fatigué lol)) et juste le "if ($nick != $me) {" est inutile pour la simple et bonne raison que "on *:text:*:#: {" ne prend pas en compte les lignes qui sont envoyée... donc le code ne s'execute pas quand le bot envoi des lignes donc $nick ne pourra jamais être = à $me :)
bobjay
Messages postés66Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention 1 avril 2007 19 mai 2004 à 03:34
Moi je trouve la source de Delirium sympa et instructive: avant de voir cette source je ne pensais pas que ce type de variable était possible dans irc (je débute dans le scripting IRC, mais je connais bien la prog en générale)
Ce script est court, ce qui m'a attiré en 1er lieu d'ailleurs, car pour faire un tel script, certaines personnes mettent des kilomètres de lignes superflues ou avec des trucs inutiles ce qui rend le code obscur.
Je me suis permis de reprendre ton code Delirium, en y mettant une touche personnelle que voici:
on *:text:*:#: {
if ($nick != $me) {
inc $+(%,flood,$address,$chan) 1
if ($eval($+(%,flood,$address,$chan),2) <= 4) {
timer $+ $address 1 3 unset $+(%,flood,$address,$chan)
}
else {
/mode $chan +b $address
timer 1 60 /mode $chan -b $address
unset $+(%,flood,$address,$chan)
/msg $chan 4,1 $nick a été banni 1 min du chan $chan pour flood
kick $chan $nick Le flood n'est pas toléré sur $chan, merci de vous en souvenir la prochaine fois !
}
}
}
Explication: Ce script me sert à calmer les personnes qui s'amausaient a faire flooder mon bot (ce qui faisait déconecter le bot) en floodant les appels des fonctions du bot car le bot répondait aussitot. Certes j'aurais pu mettre un timer et limiter le tps de reponse du bot, mais je trouve plus amusant d'avoir un bot rapide à la réponse, et qui peut calmer les petits malins qui floodent sur le chan (car ca marche aussi sur le chan en general et pas seulement pour les fonctions du bot).
Détail: J'utilise "if ($nick != $me) {" pour empecher que le bot subisse un auto-ban car comme le bot répond aussi vite ques les personnes qui floodent les appels de fonction du bot, il flood lui-même en conséquence. J'ai aussi ajouté un kick+reason au ban, histoire que la personne soit vraiment kickée et bannie pendant une minute.
PS: je pense que $host employé dans le code de Délirium devrait être remplacé par $address pour que le script fonctionne bien. En tout cas je l'ai fait dans mon code et ça tourne niquel maintenant... En tout cas continuez de pondre des sources utiles et simples comme celle de Délirium, ça aide beaucoup les débutants comme moi dans le domaine convivial du scripting IRC ^^
NIRC
Messages postés3Date d'inscriptionvendredi 20 juin 2003StatutMembreDernière intervention24 juin 2003 26 juil. 2003 à 04:13
Humf vraiment je le trouve... pas à mon goùt .........
cs_PereNoel
Messages postés68Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention 2 mai 2004 29 juin 2003 à 09:20
note: le if ($nick == $me) {... est inutile
Bah vOui c'est inutile, c'est pas un On Input :P
Sinon ça va, c'est sympa et marche bien :]
cs_Delirium
Messages postés30Date d'inscriptionvendredi 11 octobre 2002StatutMembreDernière intervention 3 mai 2004 22 janv. 2003 à 20:10
a wi merde
mslot1
Messages postés30Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention21 mars 2005 20 janv. 2003 à 15:02
heu...ji crôa ke tia fé une pitite connerie ou alors c moi ki ai mal compris ton bout de script :
"on *:TEXT:*:#: {
if ($nick isop $chan) {
/notice $nick euh fé gaffe au flood stp
;si le gars est op sur le chan
}"
si je ne me trompe pas, ca, a chak fois k'un op va parler sur le chan ca va lui envoyer un notice...non ? ;pp
c pas o bon endroit c tout ^^
aller corrige moi ca sinon le reste me parait bon :)
20 mai 2006 à 16:38
on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
unset $+(%,flood,.,$nick)
}
}
}
20 mai 2006 à 16:17
Delirium, tu dit "a wi merde" mais tu corrige pas. Il n'y a meme pas verification de si tu est op ou hop ou pas. Moi je met 0/10.
rugbymen : 7/10 a oue quand meme pour un truc qui marche pas c pas mal.
bobjay : tu connais bien la prog en générale ? Et bien pour un script qui contient des kilomètres de lignes superflues ou avec des trucs inutiles il est reussi la ton script ^^
Bon biensur je vous donne le truc qui marche et testé par MOI :
on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
}
}
}
6 janv. 2006 à 16:50
timer $+ $address 1 3 unset $+(%,flood,$host,$chan)
;si il dit rien, au bout de 3 sec, la variable est effacée
je verifie elle conserve la variable ainsi que le nombre de on text tapé par l'user , ce qui fait que si il retape un text a un moment ou l'autre il atteint le nombre qui le fera jarter , en gros le unset est ok que lorsque il aura été ban et la ok ca l'efface de la variable.
pb entre le :
/timer $+ $address 1 3 /unset $+(%,flood,$host,$chan)
et le
/unset $+(%,flood,$address,$chan)
qui on l'air d'être considéré comme variables diférentes (due certainement au : /timer $+ $address )
17 avril 2005 à 23:12
21 févr. 2005 à 00:09
20 mai 2004 à 21:43
19 mai 2004 à 03:34
Ce script est court, ce qui m'a attiré en 1er lieu d'ailleurs, car pour faire un tel script, certaines personnes mettent des kilomètres de lignes superflues ou avec des trucs inutiles ce qui rend le code obscur.
Je me suis permis de reprendre ton code Delirium, en y mettant une touche personnelle que voici:
on *:text:*:#: {
if ($nick != $me) {
inc $+(%,flood,$address,$chan) 1
if ($eval($+(%,flood,$address,$chan),2) <= 4) {
timer $+ $address 1 3 unset $+(%,flood,$address,$chan)
}
else {
/mode $chan +b $address
timer 1 60 /mode $chan -b $address
unset $+(%,flood,$address,$chan)
/msg $chan 4,1 $nick a été banni 1 min du chan $chan pour flood
kick $chan $nick Le flood n'est pas toléré sur $chan, merci de vous en souvenir la prochaine fois !
}
}
}
Explication: Ce script me sert à calmer les personnes qui s'amausaient a faire flooder mon bot (ce qui faisait déconecter le bot) en floodant les appels des fonctions du bot car le bot répondait aussitot. Certes j'aurais pu mettre un timer et limiter le tps de reponse du bot, mais je trouve plus amusant d'avoir un bot rapide à la réponse, et qui peut calmer les petits malins qui floodent sur le chan (car ca marche aussi sur le chan en general et pas seulement pour les fonctions du bot).
Détail: J'utilise "if ($nick != $me) {" pour empecher que le bot subisse un auto-ban car comme le bot répond aussi vite ques les personnes qui floodent les appels de fonction du bot, il flood lui-même en conséquence. J'ai aussi ajouté un kick+reason au ban, histoire que la personne soit vraiment kickée et bannie pendant une minute.
PS: je pense que $host employé dans le code de Délirium devrait être remplacé par $address pour que le script fonctionne bien. En tout cas je l'ai fait dans mon code et ça tourne niquel maintenant... En tout cas continuez de pondre des sources utiles et simples comme celle de Délirium, ça aide beaucoup les débutants comme moi dans le domaine convivial du scripting IRC ^^
26 juil. 2003 à 04:13
29 juin 2003 à 09:20
Bah vOui c'est inutile, c'est pas un On Input :P
Sinon ça va, c'est sympa et marche bien :]
22 janv. 2003 à 20:10
20 janv. 2003 à 15:02
"on *:TEXT:*:#: {
if ($nick isop $chan) {
/notice $nick euh fé gaffe au flood stp
;si le gars est op sur le chan
}"
si je ne me trompe pas, ca, a chak fois k'un op va parler sur le chan ca va lui envoyer un notice...non ? ;pp
c pas o bon endroit c tout ^^
aller corrige moi ca sinon le reste me parait bon :)