petit anti pub simple sur chan
#1
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
}
}
}
}
}


Répondre Avertir
#2
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
Répondre
#3
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
Répondre Avertir
#4
bah jarrive tjr po a faire kick la personne qui pub.serais ce a cause des * dans les bind
Répondre Avertir
#5
Je pense plutot que tu as une erreur avec putmsg qui n'est pas une commande valide.
Répondre
#6
jai refait comme ceci
putserv "privmsg $chan $why sur $chan $nick pliz."
mais ca ne mache pas :(
Répondre Avertir
#7
essaye avec ça:

putquick "PRIVMSG $chan :$why sur $chan $nick pliz."
Répondre Avertir
#8
erf tjr pareil la y a un hic quelqu part
Répondre Avertir
#9
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.
Répondre Avertir
#10
si lol ca marche bien mais meme le bot oper et owner il kick ban pas les owner la est le soucis en fait
Répondre Avertir
#11
c'est pas tres clair, j'ai pas compris ce que tu veux en fait
Répondre Avertir
#12
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)
Répondre Avertir
#13
C'est normal qu'il te kick pas ... grace ou a cause de ça:

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


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


Répondre
#15
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 :D
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté