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.

ChanServ Auto Reop Script v5.61.b (by awyeah)

Support & discussion of released scripts, and announcements of new releases.
Post Reply
e
eXtremer
Op
Posts: 138
Joined: Wed May 07, 2008 5:33 am

ChanServ Auto Reop Script v5.61.b (by awyeah)

Post by eXtremer »

Hi all, awyeah made a great script but unfortunately it's not working on Undernet (X) it's made for Dalnet.
Could someone modify it so it would work on Undernet ?

The Script :

Code: Select all

# $Id: autoreop.tcl, eggdrop-1.6.x 2004/5 awyeah@usa.net Exp $

# Begin - Deop Protection, ChanServ Auto Reop Script v5.61.b (autoreop.tcl)
#	Script Version: 5.61.b
#	Built Date: November 2003, Last Updated: 25th June 2004
#	Copyright © 1999-2004 awyeah (awyeah@usa.net)
#	TCL script was designed to use with eggdrop v1.5.x or higher

#########################################################################
#  		       ChanServ Auto Reop Script v5.61.b 		            #
#                                                                       #
#                                                                       #
# Author: awyeah                                         25th June 2004 #
# Email: awyeah@usa.net                            Build version 5.61.b #
# Copyright © 2004 awyeah All Rights Reserved    http://www.awyeah.org/ #
#########################################################################
#												#
# #######							                        #
# PURPOSE							                        #
# #######											#
#								        		      #
# This script serves the purpose to auto-reop an eggdrop bot when it 	#
# is deoped by someone on a channel. (there are some condtions)      	#
#								                        #
# Basically this script is written for networks, which run a channel    #
# maintainence service called 'ChanServ', like DALnet. Hence this	      #
# script can be only used on networks having ChanServ.			#
#								                        #
# I've made this script because sometimes people deop my eggdrop bot on #
# channels, like suppose when they perform a mass deop in a channel, or #
# maybe the bot disconnects from the server like in a netsplit and does	# 
# not regain channel op status, or something of the kind.			#
#								                        #
#########################################################################
#												#
# ###########									      #
# DESCRIPTION							                  #
# ###########										#
#							                              #
# This script reops the bot on all channels, if it is deoped by        	#
# any user on any channel it is on. It can be requested to work on 	#
# specific, user defined channels and will not request auto reop from	# 
# chanserv on the channels not mentioned in its working channel list.	#
#								                        #
# This is a very effective script to keep your bot oped on all          #
# channels or specific channels it has access on. However, if the bot 	#
# is deleted from the ChanServ access list then obviously as you might	#
# suspect it will not be able to regain op status on that channel.      #
#								                        #
# This script has other functions and features other than simply to 	#
# reop the eggdrop bot when it is deoped. It has different punishment 	#
# levels, many exemptions features, functions such as logging the 	#
# people who deop the bot and etc.							#
#												#
#########################################################################
#								                        #
# ########									      	#
# FEATURES							                  	#
# ########											#
#								                        #
# 1. This script has *3* settings of channels to work on.			#
#    - It can work on user defined channels.					#
#    - It can work on all matching channels the bot is deoped on.		#
#    - It can work on all the channels the bot is monitoring.		#
#												#
# 2. This script will make the bot request chanserv network service for	#
#    regaining ops back on channels, when it is deoped.			#
#												#
# 3. This script has user defined exempt flag settings, so users in	#
#    bot file such as owners and masters would be exempted from this	#
#    script and would be able to deop the bot. It also has exemption 	#
#    settings for seperate nicks, idents, user hosts, ip addresses etc. #
#												#
# 4. This script has different punishment options for the user who	#
#    deoped the bot, such as deoping, kicking and banning the user etc.	#
#												#
# 5. There is a notification feature to the user who deoped the bot.	#
#    Notifications can be sent in the form of private messages and	#
#    private notices depending upon the owners choice.			#
#												#
# 6. Bot owners can log the data of the people who deop the bot through #
#    the course of the day and store the info a text file which created #
#    in the main eggdrop dir, which would include which channel the bot #
#    was deoped on, the users host, address and his nick.			#
#												#
#########################################################################
#								                        #
# #####										      #
# USAGE								                  #
# #####											#
#								                        #
# - Please unzip zipped file autoreop.zip file and place the tcl file 	#
#   autoreop.tcl file in your eggdrops */scripts* folder along with 	#
#   your other tcl scripts.								#
#								                        #
# - Please add a link at the bottom of your eggdrop's .CONF file to     #
#   the path of your autoreop.tcl, it would be something like this:     #
#								                        #
#   	     source scripts/autoreop.tcl					      #
#								                        #
# - Save your bot's configuration file						#
#						                        		#
# - *RESTART* your eggdrop bot and start enjoing the script!		#
#								                        #
#########################################################################
#								                        #
# #######										      #
# CONTACT								                  #
# #######											#
#								                        #
# - If you have any suggestions, comments, questions or if you want to  #
#   report bugs, please feel free to email me at:			      #
#								                        #
#	    awyeah@usa.net / awyeah@awyeah.org				      #
#									                  #
#									                  #
# - You can contact me on MSN Messenger, on my ID: awyeah@awyeah.org	#
#								                        #
#								                        #
# - You can also catch me on IRC (The DALnet Network)		            #
#								                        #
#         /server irc.dal.net:6667, Nick: awyeah			      #
#									                  #
#########################################################################
#									                  #
# ########									      	#
# VERSIONS						                  		#
# ########											#
#												#
#												#
#  v5.61.b - Added a new type of channel activation option. The bot 	#
# (25/06/04) will only request for ops on channels it is deoped on by 	#
#            this new function.							#
#	     - Added new exemption options for exempting specific nicks,	#
#            user idents, ip addresses and user hosts.			#
#          - There were two similar ban types in the banmask selector	#
#            fixed those and replaced the similar one by a new one.	#
#          - Fixed some errors in the punishment procedure.			#
#	     - Optimized most of the settings to give a faster output.	#
#												#
#  v4.82.b - Added a switch for users to select channels for the script #
# (16/06/04) to work on. Users can activate the script on their own 	#
#            defined channels or activate the script on all the 		#
#            channels the bot is monitoring.					#
#	     - Added punishment options for the user who deoped the bot. 	#
#		 The punishment range can be from minimum to maximum 		#
#		 depending upon the type of punishment selected.		#
#	     - Modified the user notification options to select between	#
#		 private messages or private notices.			      #
#	     - Added a choice to send user defined notifications		#
#	     - Added a deop user log function. Users who deop the bot 	#
#		 will	be logged into a text file in the bots main *eggdrop*	#
#		 directory along with their userhost, channel and info.	#
#	     - Added a small feature to choose whether the bot should try	#
#		 to reop itself when it is deoped on a channel by ChanServ.	#
#												#
#  v3.56.b - Removed the all channels support for the script.		#
# (25/05/04) Added support for users to define their own channels.	#
#            Users can now activate the script on specific channels 	#
#            the bot is opped on. The bot would only request ops from	#
#		 ChanServ on those channels which are mentioned in its 	#
#            channel list.								#
#	     - Also added a notice command if the owner wishes the bot	#
#		 to notice the nick who deoped the bot, with a msg		#
#		 telling the user who deoped the bot not to deop it.		#
#												#
#  v3.20.b - Initial release of script						#
# (08/03/04)										#
#									                  #
#									                  #
# Latest released verions of this script which are updated and modified #
# from time to time can be found on:					      #
#									                  #
#         http://www.egghelp.org/  -  http://www.tclscript.com/		#
#									                  #
#########################################################################
#									                  #
# #######									      	#
# CREDITS						                  		#
# #######											#
#												#
#  - Thanks to all my friends who gave me the idea of creating this	#
#    script as it has proven to be very useful.					#
#												#
#  I hope you really appreciate the work I've done!				#
#												#
#												#
#  ./awyeah											#
#									                  #
#########################################################################

##################################################
### Start editing variables from here onwards! ###
##################################################

#----------------------------------------#
#    SETUP CHANNEL ACTIVATION OPTIONS    #
#----------------------------------------#

#Set the type of channels (defined, all) you would like to enable for the bot.
#USAGE: [1/2/3] (1=USER DEFINED CHANS, 2=MATCHING CHANS 3=ALL CHANS) (You can enable only one, not both!)
#Use '1' for 'user defined channels'. (Will make the bot request for ops only on channels defined for it)
#Use '2' for 'all matching channels'. (Will make the bot request for ops on any channel it is deoped on)
#Use '3' for 'all the channels' the bot is on. (Will make the bot request for ops on all channels it is on)
set deoptype "1"

#Set this to the user defined channels if you have enabled deop protection for user defined
#channels, if not then leave this empty/blank. (Set the channels on which this script would work on)
#USAGE: set deopchans "#channel1 #channel2 #channel3 #mychannel #yourchannel"
set deopchans "#mychannel"


#--------------------------------------#
#    SETUP NETWORK CHANSERV OPTIONS    #
#--------------------------------------#

#Set your ChanServ service nick here. This is not a case-senstivie setting.
#USAGE: Set the nick of your networks channel service, for example 'ChanServ'.
#(If your network uses ChanServ and is not DALnet, set this to only 'ChanServ' then)
#(If your network is DALnet, then you do not need to edit this as, I have set this default for DALnet) 
set chanservices "chanserv@services.dal.net"

### Recommended to keep this setting to '0' (OFF) if possible ###
#Set this is you want your bot to reop itself when it is deoped on a channel by ChanServ.
#Mostly sometimes people use chanserv to deop other people on channels, because they might have 
#been just removed off the channel access lists. (I would recommend to *KEEP THIS SETTING OFF*)
#USAGE: [0/1] (0=WILL NOT REOP IF DEOPED BY CHANSERV, 1=WILL REOP IF DEOPED BY CHANSERV)
#If set to '0' the bot will *NOT* reop itself if it is deoped by chanserv
#If set to '1' the bot will reop itself if it is deoped by chanserv (can cause services/mode floods)
set noreop "0"


#---------------------------------#
#    SETUP USER EXEMPT OPTIONS    #
#---------------------------------#

### IMPORTANT NOTE ###
#For all of the exemption settings below please *DO NOT* use wildcards
#such as: (*, !, *!*, *@*, *!*@*, @*.host.com, *@127.0.0.* etc as they maybe risky)
#(If you do not have any ident, userhost, or ip to enter then please leave the field "")

### This is a compulsory setting ###
#Set the 'user flags' for bot owners, masters, ops and etc which will be exempted from this script and 
#would be able to deop the bot, which after that the bot will not reop itself again using this script.
#(Try not to leave this field empty, atleast fill it with "n" to exempt the bot owner if possible)
#Example: n=owner, m=master, o=op, v=voice, f=friend, b=bot etc
#USAGE: "m", "n", "o", or "mnf", "bfv" etc
set deopexemptflags "mnof|mnof"

#Set this to the list of 'exempted nicks', which you would like the bot to ignore when checking for
#users who deoped the bot. (If you do not have any 'nick' to exempt then, leave this as "")
#USAGE: "nick1, bot3, user5, robot7"
set deopexemptnicks "spamcheckerbot"

#Set this to the list of exempted 'user idents' which you would like the bot to ignore when checking for 
#users who deoped the bot. (If you do not have any 'user ident' to exempt then, leave this as "")
#(Whois example: awyeah is cooldude@loves.you.com ===> cooldude)
#USAGE: "cooldude, myident, user, script, sweet"
set deopexemptidents "a-user-ident"

#Set this to the list of 'exempted domains' (user ip addresses) which you would like the bot to ignore when
#when checking for users who deoped the bot. (If you do not have any 'ip addresses' to exempt then, leave this as "")
#(Whois example: awyeah is cooldude@adsl-154-462.cable.myisp.com ===> cable.myisp.com)
#USAGE: "cable.myisp.com, name.myuniversity.edu, mindspring.com, cpe.net.cable.rogers.com"
set deopexempthosts "an-isp-name"

#Set this to the list of 'user hosts' (user@host) which you would like the bot to ignore when checking for 
#users who deoped the bot. (If you do not have any 'user@host' to exempt then, please leave this as "")
#USAGE: "rules@127.0.0.1, i@am.eleet.com, yeah@baby.yeah.net"
set deopexemptuserhosts "i@love.you.com"


#-------------------------------------#
#    SETUP USER PUNISHMENT OPTIONS    #
#-------------------------------------#

#Set this if you want the bot to 'punish' the person who deoped your bot.
#USAGE: [0/1/2/3/4/5] (0=OFF, 1=DEOP, 2=KICK, 3=KICK/BAN, 4=STICKY KICK/BAN, 5=GLOBAL KICK/BAN)
#Use '0' if *DO NOT* want the bot to punish the user. (No punishment)
#Use '1' if you want the bot to 'deop' that user in the channel. (Minimal punishment)
#Use '2' if you want the bot to 'kick' that user from the channel. (Moderate punishment)
#Use '3' if you want the bot to 'kick and ban' that user from the channel. (Extreme punishment)
#Use '4' if you want the bot to 'kick ban' that user using a sticky ban from the bots ban list. (Maximum punishment)
#Use '5' if you want the bot to 'kick ban' (blacklist) that user using the bots global ban list. (Not recommended)
set deoppunish "0"

#Set this to the kick message if you have enabled to punish the user and would want to kick or 
#or kick and ban the user from the channel. (This would be the kick message used to kick out the user)
set punishmsg "0,1 Deop Protection Kick 12,0 - Please 2do not deop 12me, as I am a 2channel guardian bot 12on this 2channel 12and need to be 2opped at all times."

#Set this to the ban time if you have selected to punish the user by kicking and banning the user.
#Please set the ban time in minutes over here. (in minutes)
set punishunban "10"


#-----------------------------#
#    SETUP TYPE OF BANMASK    #
#-----------------------------#

#Set this to the banmask type if you have selected to punish the user by the kick and ban method.
#Types of banmasks	
# 1 - *!*@some.host.com
# 2 - *!*@*.host.com
# 3 - *!*ident@some.domain.com
# 4 - *!*ident@*.host.com
# 5 - *!*ident*@*.host.com
# 6 - *!*ident*@some.host.com
# 7 - nick*!*@*.host.com
# 8 - *nick*!*@*.host.com
# 9 - nick*!*@some.host.com
# 10 - *nick*!*@some.host.com
# 11 - nick!ident@some.host.com
# 12 - nick!ident@*.host.com
# 13 - *nick*!*ident@some.host.com
# 14 - nick*!*ident*@some.host.com
# 15 - *nick*!*ident*@some.host.com
# 16 - nick!*ident*@some.host.com
# 17 - nick*!*ident@*.host.com
# 18 - nick*!*ident*@*.host.com
# 19 - *nick*!*ident@*.host.com
# 20 - *nick*!*ident*@*.host.com
set deopbanmask "1"


#---------------------------------------#
#    SETUP USER NOTIFICATION OPTIONS    #
#---------------------------------------#

#Set this if you want the bot to give a notification warning to the user who deoped it, saying back not to 
#deop it in the future. (If that user may have deoped your bot, probobaly because of any bugs or errors detected 
#in the bot, then that person should contact you 'the owner' of the bot)
#USAGE: [0/1] (0=OFF, 1=ON)
set deopnotify "0"

#Set your nick here, the owner of the bot. (This is used to notify the person who deoped your bot that, you 
#are the owner of this bot and that person should contact you if he has encountered any problem with the bot)
#(Please do not leave this setting empty as it is compulsory. I recommend you fill this setting)
set botownernick "deopernick"

#Set this to the type of notification warning you would like the bot to notify the user with.
#USAGE: [1/2] (1=PRIVATE MESSAGE, 2=PRIVATE NOTICE)
#Use '1' if you want the bot to notify the user with a PRIVATE MESSAGE (/msg).
#Use '2' if you want the bot to notify the user with a PRIVATE NOTICE (/notice).
#(This will only work if you have enabled the user notification option)
set notifytype "2"

#Set the notice here which you wish the bot to send to the user who deoped it. (This will only work if you have 
#enabled the deop notification switch and have not set this setting as blank/empty)
set noticeuser "Please *do not* deop me. For further assistance please contact my owner *$botownernick* regarding any problems, bugs, errors or malfunctions detected in my script."


#-------------------------------#
#    SETUP DEOP USER LOGGING    #
#-------------------------------#

#Set this if you want to enable recording (nick, host, info and chan) for the people who deop
#the bot. (This will help you to check who deops your bot while you are offline)
#USAGE: [0/1] (0=OFF, 1=ON)
set deoplog "0"

#Set this to the file name which will be used to record and store the users nick, info and data in.
#(This file will be created in your main */eggdrop* dir, which has your other .conf, .user and .chan files)
set deopfile "deoplog.dat"


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


bind mode - "*-*o*" deop:protection

proc deop:protection {nick uhost hand chan mode target} {
 global botnick deoptype deopchans
  if {($target == $botnick) && ($nick != $botnick)} {
   if {($deoptype == 1) && ($deopchans != "") && ([string match "#*" $deopchans])} { deop:specific:chans $nick $uhost $hand $chan }
   if {($deoptype == 2)} { deop:matching:chans $nick $uhost $hand $chan }
   if {($deoptype == 3)} { deop:all:chans $nick $uhost $hand $chan }
   if {(($deoptype != 1) && ($deoptype != 2) && ($deoptype != 3)) || ($deoptype == "0") || ($deoptype == "")} { return 0 }
   }
}


proc deop:specific:chans {nick uhost hand chan} {
 global botnick deopchans chanservices noreop deopexemptflags deopexemptnicks deopexemptidents deopexempthosts deopexemptuserhosts
  if {([matchattr $hand $deopexemptflags $chan])} { return 0 }
  if {($noreop == 0) && ([string equal -nocase $nick "chanserv"])} { return 0 }
  set userident [lindex [split $uhost "@"] 0]; set ipaddress [lindex [split $uhost "@"] 1]
  if {([string match -nocase *$deopexemptnicks* $nick]) || ([string match -nocase *$deopexemptidents* $userident]) || ([string match -nocase *$deopexempthosts* $ipaddress]) || ([string match -nocase *$deopexemptuserhosts* $uhost])} { return 0 }
  if {(([lsearch -exact [split [string tolower $deopchans]] [string tolower $chan]] == -1) || ($deopchans == "*"))} { return 0 }
   putserv "PRIVMSG $chanservices :OP $chan $botnick"
   putlog "AUTO REOP: Deoped on $chan by $nick"
   putlog "AUTO REOP: Catched OP NOTICE for $chan from $chanservices."
   putlog "AUTO REOP: Reopping $botnick on $chan ."
  utimer 2 [list deop:punish $nick $uhost $chan]
  deop:record $nick $uhost $chan; deop:notify $nick $chan
}

proc deop:matching:chans {nick uhost hand chan} {
 global botnick chanservices noreop deopexemptflags deopexemptnicks deopexemptidents deopexempthosts deopexemptuserhosts
  if {([matchattr $hand $deopexemptflags $chan])} { return 0 }
  if {($noreop == 0) && ([string equal -nocase $nick "chanserv"])} { return 0 }
  set userident [lindex [split $uhost "@"] 0]; set ipaddress [lindex [split $uhost "@"] 1]
  if {([string match -nocase *$deopexemptnicks* $nick]) || ([string match -nocase *$deopexemptidents* $userident]) || ([string match -nocase *$deopexempthosts* $ipaddress]) || ([string match -nocase *$deopexemptuserhosts* $uhost])} { return 0 }
   putserv "PRIVMSG $chanservices :OP $chan $botnick"
   putlog "AUTO REOP: Deoped on $chan by $nick"
   putlog "AUTO REOP: Catched OP NOTICE for $chan from $chanservices."
   putlog "AUTO REOP: Reopping $botnick on $chan ."
  utimer 2 [list deop:punish $nick $uhost $chan]
  deop:record $nick $uhost $chan; deop:notify $nick $chan
}

proc deop:all:chans {nick uhost hand chan} {
 global botnick chanservices noreop deopexemptflags deopexemptnicks deopexemptidents deopexempthosts deopexemptuserhosts
  if {([matchattr $hand $deopexemptflags $chan])} { return 0 }
  if {($noreop == 0) && ([string equal -nocase $nick "chanserv"])} { return 0 }
  set userident [lindex [split $uhost "@"] 0]; set ipaddress [lindex [split $uhost "@"] 1]
  if {([string match -nocase *$deopexemptnicks* $nick]) || ([string match -nocase *$deopexemptidents* $userident]) || ([string match -nocase *$deopexempthosts* $ipaddress]) || ([string match -nocase *$deopexemptuserhosts* $uhost])} { return 0 }
   foreach channel [channels] {
    putserv "PRIVMSG $chanservices :OP $channel $botnick" 
   }
   putlog "AUTO REOP: Deoped on $chan by $nick"
   putlog "AUTO REOP: Catched OP NOTICE for $chan from $chanservices."
   putlog "AUTO REOP: Reopping $botnick on *all channels*."
  utimer 2 [list deop:punish $nick $uhost $chan]
  deop:record $nick $uhost $chan; deop:notify $nick $chan
}


proc deop:punish {nick uhost chan} {
 global botnick deopbanmask deoppunish punishmsg punishunban
  if {($deoppunish == 0)} { return 0 }
  if {($deopbanmask == "")} { set banmask "*!*@[lindex [split $uhost @] 1]" }
  if {($punishmsg == "")} { set punishmsg "0,1 Deop Protection Kick 12,0 - Please 2do not deop 12me, as I am a 2channel guardian bot 12on this 2channel 12and need to be 2opped at all times." }
  if {($deoppunish == 1) && (![string equal -nocase $nick "chanserv"])} { putserv "MODE $chan -o $nick" }
  if {($deoppunish == 2) && ($punishmsg != "") && (![string equal -nocase $nick "chanserv"])} { putserv "KICK $chan $nick :$punishmsg" }
  if {($deoppunish == 3) && ($deopbanmask != "") && ($punishmsg != "") && (![string equal -nocase $nick "chanserv"])} { set banmask [deop:banmask $uhost $nick]; putserv "MODE $chan +b $banmask"; putserv "KICK $chan $nick :$punishmsg"; timer $punishunban "pushmode $chan +b $banmask" }
  if {($deoppunish == 4) && ($deopbanmask != "") && ($punishmsg != "") && (![string equal -nocase $nick "chanserv"])} { set banmask [deop:banmask $uhost $nick]; newchanban $chan $banmask deopprot "$punishmsg" $punishunban }
  if {($deoppunish == 5) && ($deopbanmask != "") && ($punishmsg != "") && (![string equal -nocase $nick "chanserv"])} { set banmask [deop:banmask $uhost $nick]; newban $banmask deopprot "$punishmsg" $punishunban }
  return 1
}

if {![file exists $deopfile] && ($deoplog == 1)} {
 putlog "DEOP RECORD FILE: The \002deop user log file\002 does not exist. Creating file: \002$deopfile\002"
 set file [open $deopfile w]
 puts $file "DEOP RECORD DATABASE (ChanServ Auto Reop Script v5.61.b by awyeah)\n"
 catch {close $file}
}

proc deop:record {nick uhost chan} {
 global botnick deoplog deopfile spamrecord spamdata
  if {($deoplog == "1")} {
  if {![file exists $deopfile]} { set file [open $deopfile w]; puts $file "DEOP LOG DATABASE (ChanServ Auto Reop Script v5.61.b by awyeah)\n"; catch {close $file} }
   set file [open $deopfile a+]; set time [unixtime]; set deoptime [ctime $time]
   set date [string trim [lindex $deoptime 2]]; set month [string trim [lindex $deoptime 1]]; set time [string trim [lindex $deoptime 3]]
   puts $file "\[$date $month $time\] «DEOPED ON [string toupper $chan]» $botnick deoped on $chan by: $nick ($uhost)"
   close $file
   return 1
   }
}


proc deop:notify {nick chan} {
 global deopnotify notifytype noticeuser
  if {($deopnotify == 1) && (($notifytype == 1) || ($notifytype == 2)) && ($noticeuser != "") && (![string equal -nocase $nick "chanserv"])} {
  if {($notifytype == 1)} { set notify PRIVMSG }; if {($notifytype == 2)} { set notify NOTICE }
   putserv "$notify $nick :$noticeuser"
   return 0
   }
}

proc deop:banmask {uhost nick} {
 global deopbanmask
   switch -- $deopbanmask {
    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 [maskhost $uhost] "@"] 1]" }
    6 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
    7 { set banmask "$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
    8 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
    9 { set banmask "$nick*!*@[lindex [split $uhost "@"] 1]" }
    10 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" }
    11 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }
    12 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
    13 { set banmask "*$nick*!*$uhost" }
    14 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
    15 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" } 
    16 { set banmask "$nick!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" } 
    17 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
    18 { set banmask "$nick!*[lindex [split $uhost "@"] 0]*@[lindex [split [maskhost $uhost] "@"] 1]" } 
    19 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
    20 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split [maskhost $uhost] "@"] 1]" } 
    default { set banmask "*!*@[lindex [split $uhost @] 1]" }
    return $banmask
   }
}


putlog "\[LOADED\] ChanServ Auto Reop Script v5.61.b by \002awyeah (awyeah@usa.net)\002"
if {($deoptype == 1)} { putlog "*ENABLED* Auto Reop for \002$nick\002 on: \002$deopchans\002" }
if {($deoptype == 2)} { putlog "*ENABLED* Auto Reop for \002$nick\002 on: \002All deop matching channels\002" }
if {($deoptype == 3)} { putlog "*ENABLED* Auto Reop for \002$nick\002 on: \002All channels\002" }
if {(($deoptype != 1) && ($deoptype != 2) && ($deoptype != 3)) || ($deoptype == "0") || ($deoptype == "")} { putlog "*DISABLED* Auto Reop for \002$nick\002 because: \002No channel type has been seletected\002" }

return
Source : ChanServ Auto Reop

Don't tell me to change the chanservice to Undernet, cose I did but still the script is not working.
Thanks in advance.
Post Reply