This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Protect to massive change nicks

Help for those learning Tcl or writing their own scripts.
Post Reply
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Protect to massive change nicks

Post by juanamores »

How I can protect a channel of massive change nicks ?
They have clones attacked and clones nicks are changed massively.
Already configured the flood-join but want to control massive changes nicks.

EDIT:
I found this SpiKe^^ 's script.
How I can do to work only in one specific channel ?
In my channel is allowed to repeat and use scripts dances (flood) , I do not want that being affected by the script.

I just want to control clones attacks and massive changes nicks, NOT flood by repetition NOR by number of sucesives lines written on.

Code: Select all

# multi-host-nick-flood.tcl v1.6.1 (1Mar2016) by SpiKe^^, closely based on
# repeat.tcl v1.1 (9Apr1999) by slennox <slenny@ozemail.com.au>
# Special Thanks go out to speechles & caesar

## NEW ADDED: This version adds three new settings  (see below) ##


# Nick flood, kick-ban on repeats:seconds #
set mhnk(flood) 3:10

# Nick flood kick-ban reason #
set mhnk(reasn) "Nick Flood!"

# Max number of bans to stack in one mode command #
set mhnk(maxb) 6

# Max number of kicks to stack in one kick command #          <- NEW SETTING <-
# NOTE: many networks allow more than one nick to be kicked per command. #
#       set this at or below the max for your network.
set mhnk(maxk) 3

# Length of time in minutes to ban Nick flooders #
# - set 0 to disable this script removing bans (ex. set mhnk(btime) 0) #
set mhnk(btime) 1

# After a valid Nick flood, script will continue to #
# kick-ban offenders for an additional 'x' seconds #
set mhnk(xpire) 10

# Set the type of ban masks to use #                          <- NEW SETTING <-
#  1 = use host/ip specific bans (ex. *!*@some.host.com) #
#  2 = use wide masked host/ip bans (ex. *!*@*.host.com) #
#      note: setting 2 requires eggdrop 1.6.20 or newer. #
set mhnk(btype) 2

# Set protected host(s) that should not be wide masked #      <- NEW SETTING <-
# - Example:  set mhnk(phost) "*.undernet.org"
#  Note: this setting only applies to ban type 2 above! #
#  Note: set empty to not protect any hosts (ex. set mhnk(phost) "") #
#  Note: space separated if listing more than one protected host #
set mhnk(phost) ""

# Set channel mode(s) on flood detected. #
# - set empty to disable setting channel modes (ex. set mhnk(mode) "") #
set mhnk(mode) "imN"

# Remove these channel modes after how many seconds? #
set mhnk(mrem) 20

# END OF SETTINGS # Don't edit below unless you know what you're doing #

bind nick - * nk_bindnick

proc nk_bindnick {oldnick uhost hand chan nick} {
  global mhnk mhnc mhnq
  set uhost [string tolower $nick!$uhost]
  set chan [string tolower $chan]
  if {[isbotnick $nick]} { return 0 }
  if {[matchattr $hand f|f $chan]} { return 0 }
  set utnow [unixtime]
  set target [lindex $mhnk(flood) 0]
  if {[info exists mhnc($chan)]} {
    set uhlist [lassign $mhnc($chan) cnt ut]
    set utend [expr {$ut + [lindex $mhnk(flood) 1]}]
    set expire [expr {$utend + $mhnk(xpire)}]
    if {$cnt < $target} {
      if {$utnow > $utend} { unset mhnc($chan) }
    } elseif {$utnow > $expire} { unset mhnc($chan) }
  }
  if {![info exists mhnc($chan)]} {
    set mhnc($chan) [list 1 $utnow $uhost]
    return 0
  }
  incr cnt
  if {$cnt <= $target} {
    if {[lsearch $uhlist $uhost] == -1} { lappend uhlist $uhost }
    if {$cnt < $target} {
      set mhnc($chan) [linsert $uhlist 0 $cnt $ut]
    } else {
      set mhnc($chan) [list $cnt $ut]
      if {$mhnk(mode) ne "" && [string is digit -strict $mhnk(mrem)]} {
        putquick "MODE $chan +$mhnk(mode)"
        utimer $mhnk(mrem) [list putquick "MODE $chan -$mhnk(mode)"]
      }
      nk_dobans $chan $uhlist
    }
    return 0
  }
  if {![info exists mhnq($chan)]} {
    utimer 1 [list nk_bque $chan]
    set mhnq($chan) [list $uhost]
  } elseif {[lsearch $mhnq($chan) $uhost] == -1} {
    lappend mhnq($chan) $uhost
  }

  if {[llength $mhnq($chan)] >= $mhnk(maxb)} {
    nk_dobans $chan $mhnq($chan)
    set mhnq($chan) ""
  }

  return 0
}

proc nk_dobans {chan uhlist} {
  global mhnk
  if {![botisop $chan]} return
  set banList ""
  set nickList ""
  foreach ele $uhlist {
    scan $ele {%[^!]!%[^@]@%s} nick user host

    if {$mhnk(btype) == 2} {
      set type 4
      foreach ph $mhnk(phost) {
        if {[string match -nocase $ph $host]} {
          set type 2  ;  break
        }
      }
      set bmask [maskhost $ele $type]
    } else {  set bmask "*!*@$host"  }

    if {[lsearch $banList $bmask] == -1} { lappend banList $bmask }
    if {[lsearch $nickList $nick] == -1} { lappend nickList $nick }
  }
  stack_bans $chan $mhnk(maxb) $banList

  foreach nk $nickList {
    if {[onchan $nk $chan]} {  lappend nkls $nk  } else { continue }
    if {[llength $nkls] == $mhnk(maxk)} {
      putquick "KICK $chan [join $nkls ,] :$mhnk(reasn)"
      unset nkls
    }
  }
  if {[info exists nkls]} {
    putquick "KICK $chan [join $nkls ,] :$mhnk(reasn)"
  }

  if {$mhnk(btime) > 0} {
    set expire [expr {[unixtime] + $mhnk(btime)}]
    lappend mhnk(rmls) [list $expire $chan $banList]
  }
}

proc stack_bans {chan max banlist {opt +} } {
  set len [llength $banlist]
  while {$len > 0} {
    if {$len > $max} {
      set mode [string repeat "b" $max]
      set masks [join [lrange $banlist 0 [expr {$max - 1}]]]
      set banlist [lrange $banlist $max end]
      incr len -$max
    } else {
      set mode [string repeat "b" $len]
      set masks [join $banlist]
      set len 0
    }
    putquick "MODE $chan ${opt}$mode $masks"
  }
}

proc nk_bque {chan} {
  global mhnq
  if {![info exists mhnq($chan)]} { return }
  if {$mhnq($chan) eq ""} { unset mhnq($chan) ; return }
  nk_dobans $chan $mhnq($chan)
  unset mhnq($chan)
}

proc nk_breset {} {
  global mhnc mhnk
  set utnow [unixtime]
  set target [lindex $mhnk(flood) 0]
  foreach {key val} [array get mhnc] {
    lassign $val cnt ut
    set utend [expr {$ut + [lindex $mhnk(flood) 1]}]
    set expire [expr {$utend + $mhnk(xpire)}]
    if {$cnt < $target} {
      if {$utnow > $utend} { unset mhnc($key) }
    } elseif {$utnow > $expire} { unset mhnc($key) }
  }
  if {[info exists mhnk(rmls)]} {
    while {[llength $mhnk(rmls)]} {
      set next [lindex $mhnk(rmls) 0]
      lassign $next expire chan banList
      if {$expire > $utnow} {  break  }
      set mhnk(rmls) [lreplace $mhnk(rmls) 0 0]
      if {![info exists rmAra($chan)]} {  set rmAra($chan) $banList
      } else {  set rmAra($chan) [concat $rmAra($chan) $banList]  }
    }
    foreach {key val} [array get rmAra] {
      set banList ""
      foreach mask $val {
        if {![ischanban $mask $key]} {  continue  }
        lappend banList $mask
      }
      if {$banList eq ""} {  continue  }
      if {![botisop $key]} {
        set mhnk(rmls) [linsert $mhnk(rmls) 0 [list $utnow $key $banList]]
      } else {  stack_bans $key $mhnk(maxb) $banList -  }
    }
    if {![llength $mhnk(rmls)]} {  unset mhnk(rmls)  }
  }
  utimer 30 [list nk_breset]
}

if {![info exists nk_running]} {
  utimer 10 [list nk_breset]
  set nk_running 1
}

set mhnk(flood) [split $mhnk(flood) :]
set mhnk(btime) [expr {$mhnk(btime) * 60}]
set mhnk(phost) [split [string trim $mhnk(phost)]]
if {$mhnk(btime)==0 && [info exists mhnk(rmls)]} {  unset mhnk(rmls)  }

putlog "Loaded multi-host-nick-flood.tcl v1.6.1 by SpiKe^^" 
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

In this case you can't use Spike's script.

How many times dose a bot change it's name in the massive nicks changes flood? They change to some random characters or there's a pattern? Copy/paste a small sample of their attack.
Once the game is over, the king and the pawn go back in the same box.
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Post by juanamores »

caesar wrote:In this case you can't use Spike's script.

How many times dose a bot change it's name in the massive nicks changes flood? They change to some random characters or there's a pattern? Copy/paste a small sample of their attack.
The clones changes their nicks in seconds and they doesn´t follow any random characters neither nor any pattern.

The attack:
21:04 ?                         => ¦ jaimon5 es ahora MeninaVenen0
21:04 ?                         => ¦ hgasta es ahora roperitolok
21:04 ?                         => ¦ hamorositat es ahora vivi15
21:04 ?                         => ¦ kimmara es ahora horacio65
21:04 ?                         => ¦ leonardittoo es ahora Petardita
21:04 ?                         => ¦ lulun es ahora windowsxd
21:04 ?                         => ¦ mamasoota es ahora podesal
21:04 ?                         => ¦ walkiriita es ahora hamandda^
21:04 ?                         => ¦ chicaa_solaa es ahora demasita15
21:04 ?                         => ¦ kaosmalign es ahora reseta
21:04 ?                         => ¦ nani418011 es ahora solocamsita
21:04 ?                         => ¦ deniise es ahora cacalito45
21:04 ?                         => ¦ cocasa es ahora ana_lokita53
21:04 ?                         => ¦ soldadito22 es ahora SERE-LEYENDA^
21:04 ?                         => ¦ camilitoo es ahora O_oJo^^
21:04 ?                         => ¦ GOGOVIDEO es ahora VeNe_21
21:04 ?                         => ¦ joselo58 es ahora jaiimito
21:04 ?                         => ¦ quesoods es ahora analuzzia
I have found the other script that puts bans and change the channel mode (example +iRm).
Now, I would like to implement to this script how to control massive nicks changes.
The scripts only should work only in one specific channel.

Code: Select all

#--------------------------------------------------------------------------------------------------------------------#
#                                 ANTI MASS JOIN / JOIN FLOOD PROTECTION SCRIPT BY RANA USMAN                        #
#--------------------------------------------------------------------------------------------------------------------#

#  AUTHOR :  RANA USMAN
## EMAIL  :  coolguy_rusman@yahoo.com , usmanrana33@hotmail.com
## URL    :  www.ranausman.tk , www.airevision.tk
# VERSION :  1
# If you have any suggesstion about my script kindly let me know i will be glad to look forward :)

###############
# DESCRIPTION #
###############
#Assalam O Aleikum n Hiya :) again ok i have written this script cuz i havent found any good mass join protection yet.There 
#are different join/part protection available but not a sinlge MASSJOIN / JOIN FLOOD protection.Simply what this script do
#is it will stop the heavy amout of clones joining your channel for flood n for more protection it changes the modes of the 
#channel to the Modes specified by you in configuration section.More it will gonna ban the flooding clone's IP n you have 
#both options for banning stick ban n Simple chan ban :))

########################
# HOW TO ENABLE SCRIPT #
########################
#PartyLine : (While Your in DCC chat with bot the place where you give commands like .+chan #chan is called partyline)
#In Bots Partline simple give the following command --> .chanset #channelname flood-join joins:seconds 
#Example : .chanset #yourchannel flood-join 4:6 <-- bot will detect if 4 clone joins in 6 seconds ::) ( 0:0 to disable )

###########################
#= CONFIGURATION SECTION =#
###########################
## Set the Lock Modes 
# Bot will change channel mode to the modes you will specify below in case the bot will detect join flood
# To Disable Mode change set it to "" 
set joinlockmodes "iRm"

## Set the banmask type to use in banning the join floods
# Currently BAN Type is set to 1 (*!*@any.domain.com),
# BAN Types are given below;
# 1 - *!*@some.domain.com 
# 2 - *!*@*.domain.com
# 3 - *!*ident@some.domain.com
# 4 - *!*ident@*.domain.com
# 5 - *!*ident*@some.domain.com
# 6 - *nick*!*@*.domain.com
# 7 - *nick*!*@some.domain.com
# 8 - nick!ident@some.domain.com
# 9 - nick!ident@*.host.com
set bantype "1"

## Set the time in seconds to Unlock Modes 
# The Bot will Unlock the channel after the specified time you will set below
set unlocktime "15"

## Set The Punish Type
# Set it to '1' if you want to add the Ban for joinflood in bots list.By doing it Bot will ban the IP everytime when the 
# clone will join the channel even if it is unbanned from channel OR Simply a stick ban
# Set it to '2' for a simple channel Ban :) :: RECOMMENDED ::
set joinpunish "2"

## Set the reason you want to give while kicking 
set jreason "Mass Join Flood"

###########################
# CONFIGURATION ENDS HERE #
###########################

#--------------------------------------------------------------------------------------------------------------------#
#  SCRIPT STARTS FROM HERE.YOU CAN MAKE MODIFICATIONS AT UR OWN RISK, I DONT RESTRICT YOU TO NOT TO TOUCH THE CODE!  #
#--------------------------------------------------------------------------------------------------------------------#

bind flud - join joinflood:RanaUsman
proc joinflood:RanaUsman {nick uhost hand type chan} {
global joinlockmodes banmask unlocktime joinpunish jreason botnick
if {![botisop $chan] || [matchattr $hand of]} { return 0 }
set banmask [joinpart:banmask $uhost $nick]
if {($joinpunish == 1)} { 
putquick "MODE $chan +$joinlockmodes"
newchanban $chan $banmask $botnick $jreason
putquick "KICK $chan $nick :$jreason"
utimer $unlocktime [list putquick "MODE $chan -$joinlockmodes"]
}
if {($joinpunish == 2)} { 
putquick "MODE $chan +$joinlockmodes"
putquick "MODE $chan +b $banmask"
putquick "KICK $chan $nick :$jreason"
utimer $unlocktime [list putquick "MODE $chan -$joinlockmodes"]
 }
}
proc joinpart:banmask {uhost nick} {
 global bantype
  switch -- $bantype {
   1 { set banmask "*!*@[lindex [split $uhost @] 1]" }
   2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
   3 { set banmask "*!*$uhost" }
   4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" }
   5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
   6 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
   7 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" }
   8 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }
   9 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
   default { set banmask "*!*@[lindex [split $uhost @] 1]" }
   return $banmask
  }
}
#-------------------------------------------------------------------------------------------------------------------------#
putlog "=- \002ANTI MASS JOIN/JOIN FLOOD PROTECTION BY RANA USMAN (www.ranausman.tk) HAS BEEN  LOADED SUCCESSFULLY \002 -="
#-------------------------------------------------------------------------------------------------------------------------#
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
s
simo
Revered One
Posts: 1079
Joined: Sun Mar 22, 2015 2:41 pm

Post by simo »

modern ircds have features for that like the +N channel mode preventing nick changes incase of abuse i saw you are running bot on a network running ircu wich doesnt provide such features

but the spike tcl should do the trick tho to detect fast nick changes and set ban and channel modes
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Post by juanamores »

simo wrote:modern ircds have features for that like the +N channel mode preventing nick changes incase of abuse i saw you are running bot on a network running ircu wich doesnt provide such features
On the network that I frequent, there is no way (modes) to prevent nicks changes.
miranda.chathispano.com, running version u2.10.H.10.238
simo wrote:but the spike tcl should do the trick tho to detect fast nick changes and set ban and channel modes
Would you help me adapt this part of the code in the previous script?
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

juanamores is right, I checked the channel modes and there's no mode to prevent nick changes, only option would be to lock the channel with whatever modes he wishes and do some bans.

Btw, you know about ircguard?
Once the game is over, the king and the pawn go back in the same box.
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Post by juanamores »

caesar wrote:juanamores is right, I checked the channel modes and there's no mode to prevent nick changes, only option would be to lock the channel with whatever modes he wishes and do some bans.

Btw, you know about ircguard?
Yes, I know ircguard.
But I want to have everything in my bot , I avoid putting bots of third .
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

Arnold_X-P wrote:juanamores perhaps this is for what you are looking
juanamores tal vez esto es lo que usted esta buscando.. funciona muy bien

Code: Select all

#--------------------------------------------------------------------------------------------------------------------#
#                                PROTECTION ANTI CHANGES MASSIVE IN NICKNAMES                                      #
#--------------------------------------------------------------------------------------------------------------------#

#  AUTHOR :  Arnold_X-P BASED ON THE TCL OF RANA USMAN (ANTI MASS JOIN / JOIN FLOOD)
## EMAIL  :  urquizoandrade@hotmail.com  /server irc.dal.net channel #tcls nick's Arnold_X-P & sedition 
## URL    :  http://forum.egghelp.org/viewtopic.php?t=20213
# VERSION :  0.5

###############
# DESCRIPTION #
###############
# this tcl will protect its channel against massive changes of nicknames that the attackers use.

########################
# HOW TO ENABLE SCRIPT #
########################
#In Bots Partline simple give the following command --> .chanset #channelname flood-nick nicks:seconds.
   #Example : .chanset #yourchannel flood-nick 4:6 <-- bot will detect if 4 change nicks in channel, in 6 seconds.
######        .chanset #yourchannel flood-nick 0:0 <-- the tcl will be disabled.
   #ejemplo : .chanset #tu-canal flood-nick 4:6 <-- el bot detectara 4 cambios de nicks en tu canal, en un lapso de 6 segundos. 
######        .chanset #tu-canal flood-nick 0:0 <-- la tcl estara desactivada.

###########################
#= CONFIGURATION SECTION =#
###########################
## Set the Lock Modes
# Bot will change channel mode to the modes you will specify below in case the bot will detect change massive in nicks. 
# To Disable Mode change set it to ""
# estos modos se usan en los nuevos ircds, son efectivos contra ataques.
set changenickslockmodes "NMR"

## Set the banmask type to use in banning, change massive in nicks 
# Currently BAN Type is set to 1 (*!*@any.domain.com),
# BAN Types are given below;
  # 1 - *!*@some.domain.com
  # 2 - *!*@*.domain.com
  # 3 - *!*ident@some.domain.com
  # 4 - *!*ident@*.domain.com
  # 5 - *!*ident*@some.domain.com
  # 6 - *nick*!*@*.domain.com
  # 7 - *nick*!*@some.domain.com
  # 8 - nick!ident@some.domain.com
  # 9 - nick!ident@*.host.com
set bantype "1"

## Set the time in seconds to Unlock Modes
# The Bot will Unlock the channel after the specified time you will set below
set unlocktime "35"

## Set The Punish Type
# Set it to '1' if you want to add the Ban for change massive in nicks or bots list. By doing it Bot will ban the IP everytime when the
# clone will join the channel even if it is unbanned from channel OR Simply a stick ban
# Set it to '2' for a simple channel Ban :) :: RECOMMENDED ::
set changenickspunish "2"

## Set the reason you want to give while kicking
set changenicksjreason "Not Changes Massive in NickNames!!! Stop."

###########################
# CONFIGURATION ENDS HERE #
###########################

#--------------------------------------------------------------------------------------------------------------------#
#  SCRIPT STARTS FROM HERE.YOU CAN MAKE MODIFICATIONS AT UR OWN RISK, I DONT RESTRICT YOU TO NOT TO TOUCH THE CODE!  #
#--------------------------------------------------------------------------------------------------------------------#

bind flud - nick changenickflood:RanaUsman

proc changenickflood:RanaUsman {newnick uhost hand type chan } {
global changenickslockmodes banmask unlocktime changenickspunish changenicksjreason botnick
if {![botisop $chan] || [matchattr $hand of]} { return 0 }
set banmask [changenickflood $uhost $newnick]
if {($changenickspunish == 1)} {
putquick "MODE $chan +$changenickslockmodes"
newchanban $chan $banmask $botnick $changenicksjreason
putquick "KICK $chan $newnick :$changenicksjreason"
utimer $unlocktime [list putquick "MODE $chan -$changenickslockmodes"]
}
if {($changenickspunish == 2)} {
putquick "MODE $chan +$changenickslockmodes"
putquick "MODE $chan +b $banmask"
putquick "KICK $chan $newnick :$changenicksjreason"
utimer $unlocktime [list putquick "MODE $chan -$changenickslockmodes"]
 }
}
proc changenickflood {uhost newnick} {
 global bantype
  switch -- $bantype {
   1 { set banmask "*!*@[lindex [split $uhost @] 1]" }
   2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
   3 { set banmask "*!*$uhost" }
   4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" }
   5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
   6 { set banmask "*$newnick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
   7 { set banmask "*$newnick*!*@[lindex [split $uhost "@"] 1]" }
   8 { set banmask "$newnick![lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }
   9 { set banmask "$newnick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
   default { set banmask "*!*@[lindex [split $uhost @] 1]" }
   return $banmask
  }
}
#-------------------------------------------------------------------------------------------------------------------------#
putlog "=- \002Protection Anti Changes Massive in NickNames\002 For Arnold_X-P -="
#-------------------------------------------------------------------------------------------------------------------------#
Last edited by Arnold_X-P on Thu Sep 15, 2016 1:11 pm, edited 4 times in total.
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Post by juanamores »

Arnold_X-P wrote:juanamores tal vez esto es lo que usted esta buscando.. funciona muy bien
Vale Arnold_X-P, voy a ver como lo uno con el original Mass Join, asi tengo ambas protecciones.
Muchas gracias amigo :)
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

puedes tener ambos en una tcl solo deja un solo putlog
ejemplo:

putlog "=- \002anti mass joins y \002Protection Anti Changes Massive NickNames\002 cargado -="

por algo esta ultima modifique el bind, sets y su proc la cual no entrara en conflicto con la original, funcionan ambas en una solo tcl.
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Post by juanamores »

Arnold_X-P wrote:puedes tener ambos en una tcl solo deja un solo putlog
ejemplo:

putlog "=- \002anti mass joins y \002Protection Anti Changes Massive NickNames\002 cargado -="

por algo esta ultima modifique el bind, sets y su proc la cual no entrara en conflicto con la original, funcionan ambas en una solo tcl.
Perfecto! Gracias :D
Aún no he tenido tiempo de programar, cuando lo tenga voy a revisar eso y si en algún momento hay otro ataque en la Red (cosa muy dificil) por aqui mismo reabriré este hilo para comentarles como me fue con este script.
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
Post Reply