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.

[BETA RELEASE] Clone Scanner v2.35.b by awyeah

Support & discussion of released scripts, and announcements of new releases.
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

awyeah wrote:I will add the bantime, that is no problem. Probably I just missed it out since I released it in a hurry.

As for this I really don't understand why you need it:

Code: Select all

a x amount wait time before banning clone's on join,
sometimes it happens that your nick get's timed out and you log in with your ghosted nick.
and it bans right away.
so a wait of x amount of secs would be perhaps a good idea
Well I can add that feature, but if your channel has a big user count, then your bot will have alot of utimers and will eat alot of cpu and memory.

Anyway I don't know why would your eggdrop would get timed out and it logs with a ghosted nick? I don't understand the reasoning behind that. Maybe your shell server is lagging or so, only then it got timed out, one of the reasons which can come to my mind perhaps.
it's not the bot that's get timed out,
it's when some one else get's timed out and his second nick joins the channel his second nick needs some time to get ghosted/timed out
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

This is only in reference to people who are opped and voiced in the channel, namely have an @ or +v infront of their nick(s).
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

TRaSH wrote:
awyeah wrote:I will add the bantime, that is no problem. Probably I just missed it out since I released it in a hurry.

As for this I really don't understand why you need it:

Code: Select all

a x amount wait time before banning clone's on join,
sometimes it happens that your nick get's timed out and you log in with your ghosted nick.
and it bans right away.
so a wait of x amount of secs would be perhaps a good idea
Well I can add that feature, but if your channel has a big user count, then your bot will have alot of utimers and will eat alot of cpu and memory.

Anyway I don't know why would your eggdrop would get timed out and it logs with a ghosted nick? I don't understand the reasoning behind that. Maybe your shell server is lagging or so, only then it got timed out, one of the reasons which can come to my mind perhaps.
it's not the bot that's get timed out,
it's when some one else get's timed out and his second nick joins the channel his second nick needs some time to get ghosted/timed out
Well thats a tough one there mate. IMHO, either increase your max clone limit to atleast 3, instead of using 2. And this thing you mentioned has low occurence possibility. You people will just have to bear that I guess. :)
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

well a timed ban would help also,
can't wait for the next release :0
anyway thnx for he support and keep up the good work,
i like your scripts allot.
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Im having a problem with my hosting currently. Anyway I added the bantime thingy as you requested. So I'm pasting the modified script here, until I can upload it later onto my hosting, when it is fixed.

Latest version:

Code: Select all

# $Id: clonescan.tcl, v2.58.b eggdrop-1.6.18 2007/07/23 11:13:28 Exp $

# Begin - Clone Scanner v2.58.b [clonescan.tcl]
#       Build date: 23rd July 2007
#       Copyright © 1998-2007 awyeah (awesomeawyeah@gmail.com)
#       This TCL script is designed to work with eggdrop v1.6.17 or higher

#########################################################################
#                         Clone Scanner v2.58.b                         #
#                                                                       #
#                                                                       #
# Author: awyeah                                         23rd July 2007 #
# Email: awesomeawyeah@gmail.com                   Build version 2.58.b #
#########################################################################
#                                                                       #
# #######                                                               #
# PURPOSE                                                               #
# #######                                                               #
#                                                                       #
# This script serves the purpose of eliminating excessive clones        #
# residing in a channel. These clones are detected in the format of     #
# *!*@host.domain.com.                                                  #
#                                                                       #
#########################################################################
#                                                                       #
# ########                                                              #
# FEATURES                                                              #
# ########                                                              #
#                                                                       #
# (1) This script has '2' settings of channels to work on.              #
#      (a) Can be activated to work on user defined channels.           #
#      (b) Can be activated to work on all the channels the bot is on.  #
#                                                                       #
# (2) The clone scan invertal time is customizable, to scan the channel #
#     continuously after 'X' number of minutes.                         #
#                                                                       #
# (3) This script also has a feature to scan users on joining channels  #
#     to check for clones. This feature can be enabled or disabled as   #
#     desired.                                                          #
#                                                                       #
# (4) This script automatically exempts people with OPS and VOICES from #
#     the clone detection mechansim. This has been implemented since    #
#     most channel ops and voices have spam cycler bots running around  #
#     the channel.                                                      #
#                                                                       #
# (5) An additional feature in this script is that it automatically     #
#     exempts all users with virtual hosts (vhosts) from the clone      #
#     detection mechanism. Hence, users with real ISP (Internet         #
#     Service Provider) IP addresses are only checked for clones.       #
#                                                                       #
#########################################################################
#                                                                       #
# ############                                                          #
# REQUIREMENTS                                                          #
# ############                                                          #
#                                                                       #
#  The following requirements must be taken into consideration before   #
#  utilizing this script further:                                       #
#                                                                       #
#   (Fields marked with a '*' are compulsory requirements)              #
#                                                                       #
# (*) (1) You must be running EGGDROP v1.6.17 or higher.                #
# (*) (2) You must have TCL v8.4 or higher installed on the system.     #
#                                                                       #
#   To FIND the TCL VERSION and PATCH LEVEL your shell is running:      #
#     (1) At your shell prompt type: tclsh                              #
#         (a) If you have several different versions of tcl installed   #
#             on the system, pick the latest version. E.g: tclsh8.3,    #
#             tclsh8.4 which is installed from the given list.          #
#             (i) At shell prompt type: tclsh8.4 (and go to step 2)     #
#         (b) If you have only one version, pick that one or continue   #
#             with 'tclsh' only if it doesn't say to use another name.  #
#     (2) To find your tcl version type: info tclversion                #
#     (3) To exit tclsh, type: exit                                     #
#                                                                       #
#########################################################################
#                                                                       #
# ############                                                          #
# INSTALLATION                                                          #
# ############                                                          #
#                                                                       #
#  This quick installation tutorial consists of 5 steps. Please follow  #
#  all steps correctly in order to setup your script.                   #
#                                                                       #
# (1) Upload the file clonescan.tcl in your eggdrop '/scripts' folder   #
#     along with your other TCL scripts.                                #
#                                                                       #
# (2) OPEN your eggdrops configuration (.conf) file and add a link at   #
#     the bottom of the configuration file to the path of drone nick    #
#     remover script, it would be:                                      #
#                                                                       #
#               source scripts/clonescan.tcl                            #
#                                                                       #
#                                                                       #
# (3) SAVE your bots configuration file.                                #
#                                                                       #
# (4) OPEN clonescan.tcl and start configuring variables for the        #
#     script. (START FROM: 'Start configuring variables from here!'     #
#     END AT: 'Congratulations! Script configuration is now complete')  #
#                                                                       #
# (5) RESTART your bot and start logging verbose notices!               #
#                                                                       #
#########################################################################
#                                                                       #
# ########                                                              #
# VERSIONS                                                              #
# ########                                                              #
#                                                                       #
#  v2.58.b  - Added an exemption option for specific masks for use      #
# (23/07/07)  on irc networks utilzing host-masking services such as    #
#             HostServ.                                                 #
#                                                                       #
#  v2.35.b  - First public release.                                     #
# (12/07/07)                                                            #
#                                                                       #
#########################################################################
#                                                                       #
# ########                                                              #
# CONTACTS                                                              #
# ########                                                              #
#                                                                       #
#  (*) For any suggestions, comments, questions or bugs reports, feel   #
#      free to email me at:                                             #
#                                                                       #
#               awesomeawyeah@gmail.com                                 #
#                                                                       #
#                                                                       #
#  (*) You can also contact me on MSN Messenger - my messenger ID is:   #
#                                                                       #
#               awyeah@awyeah.org                                       #
#                                                                       #
#                                                                       #
#  (*) You can also catch me on The DALnet Network:                     #
#                                                                       #
#               /server irc.dal.net:6667, Nick: awyeah                  #
#                      Channels: #awyeah, #eggdrops                     #
#                                                                       #
#                                                                       #
# NOTE: I have a lot of people bothering me for scripts, which they     #
#       haven't configured properly themselves. So please read ALL the  #
#       comments provided while configuring the script and make sure    #
#       you follow the same standard formats as of the examples when    #
#       you are setting and configurating the scripts variables.        #
#                                                                       #
#########################################################################
#                                                                       #
# #########                                                             #
# COPYRIGHT                                                             #
# #########                                                             #
#                                                                       #
# This program is a free software; you can distribute it under the      #
# terms of the GNU General Public License under Section 1 as published  #
# by the Free Software Foundation; either version 2 of the license, or  #
# (at your option) any later version.                                   #
#                                                                       #
# This program is distributed in the hope that it will be useful,       #
# but WITHOUT ANY WARRANTY; without even the implied warranty of        #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the          #
# GNU General Public License for more details.                          #
#                                                                       #
# WARNING:                                                              #
# This program is protected by copyright law and international          #
# treaties. Unauthorized reproduction of this program, or any portion   #
# of it, may result in severe civil penalties and will be prosecuted to #
# the maximum extent possible under the law.                            #
#                                                                       #
#########################################################################
#                                                                       #
# #########                                                             #
# DOWNLOADS                                                             #
# #########                                                             #
#                                                                       #
#  Latest versions of this script can be found on the TCL archives of   #
#  the following websites:                                              #
#                                                                       #
#   1) http://www.egghelp.org/                                          #
#   2) http://www.tclscript.com/                                        #
#   3) http://channels.dal.net/awyeah/scripts/                          #
#                                                                       #
#########################################################################


##############################################
### Start configuring variables from here! ###
##############################################

#Set the channels you would like this script to work on.
#USAGE: [1/2] (1=User defined channels, 2=All channels the bot is on)
set clonescan(chantype) "1"


###SET THIS ONLY IF YOU HAVE SET THE PREVIOUS SETTING TO '1'###
#Set the channels below (each separated by a space) on which this script would work.
#USAGE: set clonescan(channels) "#channel1 #channel2 #mychannel"
set clonescan(channels) "#mychannel #yourchannel"

#Set the time here in 'minutes' after which you would like the bot to scan the channel for clones.
#Note: Clones are detected in the format of: *!*@host.domain.com
#USAGE: Any integer value
set clonescan(time) "10"


#Set the 'maximum number' of clones here which would be detected by the script.
#If the number of users using the same *!*@host.domain.com is detected more than or
#equal to this number then the script will ban that IP address and kick out all the clones.
#USAGE: Any integer value
set clonescan(max) "3"


#Set this if you want the bot to scan users on joining the channel for clones.
#USAGE: [0/1] (0=OFF, 1=ON)
set clonescan(join) "1"


#Set the bantime here in 'minutes' which you want to ban the clones for with
#the hostmask *!*@host.domain.com
#USAGE: Any integer value
set clonescan(bantime) "60"


### SET THIS IF YOU WANT TO EXEMPT SPECIFIC HOST MASKS ###
#Set the list of masks here you want the script to exempt from being detected as clones. This
#option is good for exempting masks on host-masking networks which have services such as HostServ.
#(NOTE: Wildcards such as '*' and '?' can be used)
#Guidelines for the mask exemption list:
#-----------------------------------------------------------------------------------------
#1) All masks should be in the format: nick!ident@host.domain.com
#2) Every mask pattern should be placed in a new line
#3) Only add suitable patterns which effect small mask ranges - if you are using wildcards
#-----------------------------------------------------------------------------------------
#Explanation of wildcards masks:
# - The character '*' matches 0 or more characters of any type
# - The character '?' matches any single character
#---------------------------------------------------------------
#If you do not have any mask to exempt: set clonescan(exempt) {}
set clonescan(exempt) {
*!*@DALnet
*!*@*.users.quakenet.org
}


#NOTE: This script automatically exempts people with OPS and VOICES from the clone
#detection mechansim. This has been implemented since most channel ops have spam cycler
#bots running around the channel.

#This script automatically exempts all users with virtual hosts (vhosts) from the clone
#detection mechanism.

#############################################################
### Congratulations! Script configuration is now complete ###
#############################################################


##############################################################################
### Don't edit anything else from this point onwards even if you know tcl! ###
##############################################################################

if {$clonescan(chantype) == 1} {
 set clonescan(chans) $clonescan(channels)
} elseif {$clonescan(chantype) == 2} {
 set clonescan(chans) [channels]
}

set clonescan(auth) "\x61\x77\x79\x65\x61\x68"
set clonescan(ver) "v2.58.b"

bind time - "*" clone:scan:in:chan
if {$clonescan(join) == 1} { bind join - "*" clone:scan:on:join }

proc clone:scan:in:chan {m h d mo y} {
 global clonescan
 #check the time interval to perform the scan
 if {([scan $m %d]+([scan $h %d]*60)) % $clonescan(time) == 0} {

 #check all channels in the scan list
 foreach chan [split $clonescan(chans)] {

 #if channel is empty, skip to next channel in scan list
 if {[llength [chanlist $chan]] <= 1} { continue }

 #build list of channel users
 set userlist [list]
 foreach nick [chanlist $chan] {
  if {![isbotnick $nick] && ![matchattr [nick2hand $nick $chan] mn|mn $chan]} {
   lappend userlist [string tolower [lindex [split [getchanhost $nick $chan] @] 1]]
   }
 }

 #build list of channel ops and voices
 set oplist [list]
 foreach nick [chanlist $chan] {
  if {![isbotnick $nick] && ![matchattr [nick2hand $nick $chan] mn|mn $chan] && [isop $nick $chan] || [isvoice $nick $chan]} {
   lappend oplist [string tolower [lindex [split [getchanhost $nick $chan] @] 1]]
   }
 }
 set oplist [lsort -unique $oplist]

 #find no. of clone hosts in channel user list
 foreach host $userlist {
  if {![info exists count($host)]} {
   set count($host) 0
  } else {
   incr count($host)
   }
 }
 #if clones more than or equal to $clonescan(max), add them to the clone list
 set clonehost [list]
 foreach host $userlist {
  if {[expr $count($host) + 1] >= $clonescan(max)} {
   lappend clonehost $host
   }
 }
 unset count
 set clonehost [lsort -unique $clonehost]
 if {[llength $clonehost] == "0"} { continue }

 #filter out any exempt masks found in the clone list
 if {[regexp {([a-z0-9]|!|\.|\*|\?)} [list [split $clonescan(exempt) "\n"]]} {
 set exemptlist [list [lrange [split $clonescan(exempt) "\n"] 1 end-1]]
  if {[llength $exemptlist] > 0} {
   set exemptclones [list]
    foreach host $clonehost {
     if {![string match -nocase "*$host*" $exemptlist]} {
      lappend exemptclones $host
     } else {
      continue
     }
   }
   set clonehost [lsort -unique $exemptclones]
   if {[llength $clonehost] == "0"} { continue }
  }
 }

 #make a new list of clone ips, and exlude the ones found as vhosts
 set newclonelist [list]
 foreach host $clonehost {
  if {[info exists no_vhost_found]} { unset no_vhost_found }
  set tld [lindex [split $host "."] [expr [llength [split $host "."]] - 1]]
  set domain [lindex [split $host "."] [expr [llength [split $host "."]] - 2]]
  set nodomaintld [string map {" " "."} [lrange [split $host "."] 0 [expr [llength [split $host "."]] - 3]]]
  set numbers [regexp -all {[0-9]} $host]
  set alphabets [regexp -nocase -all {[a-z]} $host]
  set totalchar [expr $numbers + $alphabets]
  set numbersper [expr (($totalchar - $alphabets) * 100) / $totalchar]

  #ip address in format (0.0.0.0)
  if {([string length [string map {"." ""} $host]] <= 12) && ([regexp -all {\.} $host] == "3") && [string equal [string length [string map {"." ""} $host]] [regexp -all {[0-9]} $host]] && ([regexp -all -nocase {[a-z]} $host] == "0") && [regexp {^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$} $host] && ([regexp -all -nocase {[a-z]} $host] == "0") || ($numbersper == "100") && [regexp {^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$} $host]} {
   set no_vhost_found 1
  #ip address in domain format
  } elseif {([string length [string map {"." ""} $host]] >= 18) && ($numbersper >= 20) && ([regexp -all {\-} $domain] == "0") && ([regexp -all {[0-9]} $domain] == "0") && ([regexp -all {\-} $nodomaintld] >= 1) && ([regexp -all -nocase {[a-z]} $nodomaintld] >= 8)} {
   set no_vhost_found 1
  }
  if {[info exists no_vhost_found]} {
   lappend newclonelist $host
   unset no_vhost_found
   }
 }
 set newclonelist [lsort -unique $newclonelist]
 if {[llength $newclonelist] == "0"} { continue }

 #filter out any op or voice ips found in the clone list
 if {[llength $oplist] > 0} {
  set clones [list]
  foreach host $newclonelist {
   if {![string match -nocase "*$host*" $oplist]} {
    lappend clones $host
   } else {
    continue
    }
  }
  set clones [lsort -unique $clones]
  if {[llength $clones] == "0"} { continue }
 }

 #create a list of clone nicks with their ips
 set kicklist [list]
 foreach host $clones {
  foreach nick [chanlist $chan] {
   if {[string equal -nocase [lindex [split [getchanhost $nick $chan] @] 1] $host] && ![isop $nick $chan] && ![isvoice $nick $chan]} {
     lappend kicklist $nick:$host
     }
   }
 }
 #ban all the clone ips found
 foreach host $clones {
  if {![ischanban $host $chan]} {
   pushmode $chan +b *!*@$host
   utimer $clonescan(bantime) [list clone:scan:unban *!*@$host $chan]
   }
 }
 flushmode $chan
 #kick all the clone nicks found
 if {[llength $kicklist] >= 1} {
  foreach user $kicklist {
   if {[onchan [lindex [split $user :] 0] $chan]} {
     putserv "KICK $chan [lindex [split $user :] 0] :0,1 Excessive Clones 12,0 - 2Excessive clones 12detected 12from 6host (*!*@[lindex [split $user :] 1]) 12residing in the 2channel."
     }
    }
   }
  }
 }
}


proc clone:scan:on:join {nick uhost hand chan} {
 global clonescan
 #initial checks
 if {[isbotnick $nick]} { return 0 }
 if {($clonescan(chantype) == 1) && ([lsearch -exact [string tolower [split $clonescan(chans)]] [string tolower $chan]] == -1)} { return 0 }

 #check if mask is in exempt list, if found then stop
 if {[regexp {([a-z0-9]|!|\.|\*|\?)} [list [split $clonescan(exempt) "\n"]]} {
 set exemptlist [list [lrange [split $clonescan(exempt) "\n"] 1 end-1]]
 if {[llength $exemptlist] > 0} {
  foreach host $exemptlist {
   if {[string match -nocase "*$host*" $nick!$uhost]} {
    return 0
    }
   }
  }
 }

 #check if host is a vhost, if it is a vhost then stop executing further
 set host [lindex [split $uhost @] 1]
 set tld [lindex [split $host "."] [expr [llength [split $host "."]] - 1]]
 set domain [lindex [split $host "."] [expr [llength [split $host "."]] - 2]]
 set nodomaintld [string map {" " "."} [lrange [split $host "."] 0 [expr [llength [split $host "."]] - 3]]]
 set numbers [regexp -all {[0-9]} $host]
 set alphabets [regexp -nocase -all {[a-z]} $host]
 set totalchar [expr $numbers + $alphabets]
 set numbersper [expr (($totalchar - $alphabets) * 100) / $totalchar]
 #ip address in format (0.0.0.0)
 if {([string length [string map {"." ""} $host]] <= 12) && ([regexp -all {\.} $host] == "3") && [string equal [string length [string map {"." ""} $host]] [regexp -all {[0-9]} $host]] && ([regexp -all -nocase {[a-z]} $host] == "0") && [regexp {^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$} $host] && ([regexp -all -nocase {[a-z]} $host] == "0") || ($numbersper == "100") && [regexp {^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$} $host]} {
  return 0
 }
 #ip address in domain format
 if {([string length [string map {"." ""} $host]] >= 18) && ($numbersper >= 20) && ([regexp -all {\-} $domain] == "0") && ([regexp -all {[0-9]} $domain] == "0") && ([regexp -all {\-} $nodomaintld] >= 1) && ([regexp -all -nocase {[a-z]} $nodomaintld] >= 8)} {
  return 0
 }

 #build list of channel ops and voices
 set oplist [list]
 foreach user [chanlist $chan] {
  if {![isbotnick $user] && ![matchattr [nick2hand $user $chan] mn|mn $chan] && [isop $user $chan] || [isvoice $user $chan]} {
   lappend oplist [string tolower [lindex [split [getchanhost $user $chan] @] 1]]
   }
 }
 set oplist [lsort -unique $oplist]

 #match joined host with oplist, if ip is same as an op, then stop executing
 if {[llength $oplist] > 0} {
  if {[string match -nocase "*$host*" $oplist]]} {
   return 0
   }
 }

 #check for clones from the joined ip
 set kicklist [list]
 foreach user [chanlist $chan] {
  if {![isbotnick $user] && ![matchattr [nick2hand $user $chan] mn|mn $chan] && ![isop $user $chan] && ![isvoice $user $chan]} {
   if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {
    lappend kicklist $user
   }
  }
 }

 #if clones more than or equal to $clonescan(max), kick and ban all
 if {[llength $kicklist] >= $clonescan(max)} {
  putquick "MODE $chan +b *!*@$host"
  utimer $clonescan(bantime) [list clone:scan:unban *!*@$host $chan]
   foreach user $kicklist {
    if {[onchan $user $chan]} {
      putserv "KICK $chan $user :0,1 Excessive Clones 12,0 - 2Excessive clones 12detected 12from 6host (*!*@$host) 12residing in the 2channel."
      }
    }
  }
}


proc clone:scan:unban {ban chan} {
 if {[botisop $chan]} {
  if {![ischanban $ban $chan]} {
    pushmode $chan -b $ban
    }
  }
}

if {![string equal "\x61\x77\x79\x65\x61\x68" $clonescan(auth)]} { set clonescan(auth) \x61\x77\x79\x65\x61\x68 }
putlog "Clone Scanner $clonescan(ver) by $clonescan(auth) has been loaded successfully."
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

getting the following error now

Tcl error [clone:scan:on:join]: missing close-bracket
Tcl error [clone:scan:in:chan]: missing close-bracket
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Fixed the square bracket error and uploaded the script.

Download the script by clicking on this link:
Clone Scanner v2.58.b
Last edited by awyeah on Tue Aug 21, 2007 9:54 pm, edited 1 time in total.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

shouldn't the script also exempts people with hop ?

[11:26:12] joins: CTZ (~CTZ@BLARG.BLARG.HONK) [361 users]
[11:26:12] ChanServ sets mode: +h CTZ
[11:26:22] joins: CTZ-Backup (~CTZ@BLARG.BLARG.HONK) [362 users] clone: %CTZ [1]
[11:26:22] ChanServ sets mode: +h CTZ-Backup
[11:26:23] !Sir^Killalot sets mode: +b *!*@BLARG.BLARG.HONK
[11:26:23] [%] [Sir^Killalot] banned (CTZ CTZ-Backup)
[11:26:23] %CTZ was kicked by !Sir^Killalot ( Excessive Clones - Excessive clones detected from host (*!*@BLARG.BLARG.HONK) residing in the channel.)
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

I really have no idea what is hop. The only two things I am familiar with, simple and basic are: ops (@'s) and voices (+v's)

These are the only two channel umode accesses available for users on DALnet, i.e. using the bahamut ircd.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

ahh well allot of other servers have a half-op status called hop using the % sign
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Replace this line:

Code: Select all

if {![isbotnick $nick] && ![matchattr [nick2hand $nick $chan] mn|mn $chan] && [isop $nick $chan] || [isvoice $nick $chan]} { 
with this:

Code: Select all

if {![isbotnick $nick] && ![matchattr [nick2hand $nick $chan] mn|mn $chan] && [isop $nick $chan] || [isvoice $nick $chan] || [string equal "%" [string index $nick 0]]} { 
It should be replaced two times. Hope that works.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Or if that doesn't work. Take a look at this thread.
http://forum.egghelp.org/viewtopic.php?t=13832

Use the original script, and set your op chars correctly in the bots configuration file. Meaning add the "%" sign also in your op chars. That should make it work correctly then.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

[edited]
i'll give it a try,
thnx

hmm seems the unbanning function isn't working
i've set it to 5 minutes and when a clone get's banned it stays banned.
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

To me the script looks fine, but didn't get time to test it yet. Anyway, will test it later and let you know about the results.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
T
TRaSH
Halfop
Posts: 56
Joined: Wed Feb 26, 2003 3:38 pm
Location: #Anime-Supreme

Post by TRaSH »

any updates ?
because the ban still isn't lifted after 5 minutes like i've setup
Post Reply