Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


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
}
}
}
}
}

Away
#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 Wrote: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
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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
Away
#4
bah jarrive tjr po a faire kick la personne qui pub.serais ce a cause des * dans les bind
Away
#5
Je pense plutot que tu as une erreur avec putmsg qui n'est pas une commande valide.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#6
jai refait comme ceci
putserv "privmsg $chan $why sur $chan $nick pliz."
mais ca ne mache pas :(
Away
#7
essaye avec ça:

putquick "PRIVMSG $chan :$why sur $chan $nick pliz."
#8
erf tjr pareil la y a un hic quelqu part
Away
#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.
#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
Away
#11
c'est pas tres clair, j'ai pas compris ce que tu veux en fait
#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)
Away
#13
C'est normal qu'il te kick pas ... grace ou a cause de ça:


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

#14
Ce qui n'est pas très étonnant.
Pour ma part, j'aurais fait:

tcl
utimer 30 [list deban $chan $uhost]

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Possibly Related Threads…
Thread Author Replies Views Last Post
  [résolu]anti pub simple thedark 7 4,381 16/07/2012, 14:54
Last Post: thedark
  Aide pour un script... simple ? akya 8 6,260 15/07/2010, 22:57
Last Post: CrazyCat

Forum Jump:


Users browsing this thread: 1 Guest(s)