Communauté Eggdrop

Version complète : petit anti pub simple sur chan
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
tcl
set why "Pas de pub/flood/query/annonce"
bind pubm - "*http*" pub:banonpub
bind pubm - "#*#*" pub:banonpub
bind pubm - "*www*" pub:banonpub
 
proc pub:banonpub { nick uhost handle chan args } {
global why
if {![isop $nick $chan]} {
putmsg $chan "$why sur $chan $nick pliz."
putserv "MODE $chan +b $nick"
putserv "KICK $chan $nick (tu est banni pendant 30 sec pour cause de pub abusive)"
utimer 30 "deban $chan $uhost"
}
}
 
proc deban { chan uhost } {
global botnick
if {[isop $botnick $chan]} {
foreach nick [chanlist $chan] {
if {[getchanhost $nick $chan] == $uhost} {
if {![isop $nick $chan] && ![isvoice $nick $chan]} {
pushmode $chan -b $nick
}
}
}
}
}


Sympa, mais tu pourrais optimiser ton script en utilisant la banlist de l'eggdrop qui à l'avantage de gérer la durée du ban (en minutes).
tcl-command.doc a écrit :newchanban <channel> <ban> <creator> <comment> [lifetime] [options]
Description: adds a ban to the ban list of a channel; creator is given credit for the ban in the ban list. lifetime is specified in minutes. If lifetime is not specified, ban-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ban.
Options:
* sticky: forces the ban to be always active on a channel, even with dynamicbans on
* none: no effect
oui ca peut le faire mais deja me pose pas de ban ni de kick.mais je trouve ca sympas et leger.bon javoue avoir coder ca en 5 minutes lol faut que je m y attarde un peu plus
bah jarrive tjr po a faire kick la personne qui pub.serais ce a cause des * dans les bind
Je pense plutot que tu as une erreur avec putmsg qui n'est pas une commande valide.
jai refait comme ceci
putserv "privmsg $chan $why sur $chan $nick pliz."
mais ca ne mache pas Sad
essaye avec ça:

putquick "PRIVMSG $chan :$why sur $chan $nick pliz."
erf tjr pareil la y a un hic quelqu part
je viens de tester ton code (avec la correction que je t'ai donné) sur un de mes eggs et il fonctionne bien:

[16:31] (BdS) www
[16:31] (@Robot) Pas de pub/flood/query/annonce sur #salon BdS pliz.
[16:31] [Mode] Robot met +b BdS!*@*
[16:31] [Kick] par Robot ((tu est banni pendant 30 sec pour cause de pub abusive))


Parcontre, le ban sur pseudo c'est pas top.
si lol ca marche bien mais meme le bot oper et owner il kick ban pas les owner la est le soucis en fait
c'est pas tres clair, j'ai pas compris ce que tu veux en fait
en fait tu a pu voir quand tu est passer.jai ecris le lien d ici et le bot ne ma pas kicker.ni meme banni.
ps desoler du kick c sur le bye (saleter de bot des fois)
C'est normal qu'il te kick pas ... grace ou a cause de ça:

tcl
if {![isop $nick $chan]} {


Ce qui n'est pas très étonnant.
Pour ma part, j'aurais fait:
tcl
utimer 30 [list deban $chan $uhost]


Effectivement, je n'ai pas regardé la procédure deban qui ne peut vraiment pas fonctionner. Quand le vois:
tcl
if {[getchanhost $nick $chan] == $uhost} {


pour débannir, je me dis qu'il y a un gros soucis Very Happy
Pages : 1 2