NickServ Services By Shadowless

By Shadowless on Nov 16, 2014

Its My First try, Nick Identify, Nick Ghost, Nick Release For DALnet IRC network
I hope you will help me, if you find any mistake please post it

#NickServ Services By Shadowless
putlog "\002NickServ Services\002 By Shadowless Loaded"
################################################################################################################
#setting# init-server in eggdrop.conf also needs to remove.
################################################################################################################
set nickname "BOTNICK"
set password "BOTPASS"
set nickserv "NickServ"
set NShost "nickserv@services.dal.net"

################################################################################################################
#identify
################################################################################################################
bind notc - "*nick is owned by someone else*" do_identify

proc do_identify { nick uhost hand args rest } { 
global botnick password nickname nickserv
if { $botnick == "$nickname" } {
putquick "PRIVMSG nickserv@services.dal.net :identify $nickname $password" 
putlog "Identifying for nick \002\[$nickname\]\002"
putserv "NICK $nickname"
} 
}
#init-server procedure
bind evnt -|- init-server serverevent
proc serverevent { init-server } {
global botnick password nickname nickserv
putquick "PRIVMSG nickserv@services.dal.net :identify $nickname $password" 
}
set init-server {  
putquick "PRIVMSG nickserv@services.dal.net :identify $nickname $password" 
putserv "MODE $botnick +i-ws" 
}
################################################################################################################
#ghost
################################################################################################################
bind raw - 303 do_ghost303
bind raw - 433 do_ghost433
bind notc - "name is already in use*" do_ghost433

proc do_ghost303 {* 303 arg} {
global botnick nickname password NShost
foreach nqh [lrange $arg 1 end] {
set nqh [lindex [split $nqh ":"] 1]
if {[strlwr $nqh] == [strlwr $nickname] && [strlwr $nqh] != [strlwr $botnick]} {
putserv "PRIVMSG [lindex [split $NShost "!"] 0] :ghost $nickname $password"
putlog "Nick \002\[$nickname\]\002 is in use... Ghosting..."
putserv "NICK $nickname"
} 
}
}

proc do_ghost433 {pro key arg} {
global nickname password
set nck [lindex $arg 1]
if {[string match [string tolower $nickname] [string tolower $nck]]} {
putquick "PRIVMSG nickserv@services.dal.net :ghost $nickname $password"
putlog "Nick \002\[$nickname\]\002 is in use... Ghosting..."
putserv "NICK $nickname"
}
return 0
}

################################################################################################################
#release
################################################################################################################

bind raw - 403 do_release_raw
bind raw - 432 do_release_raw
bind notc - "currently being held by a Services Enforcer*" do_release_notice

proc do_release_raw {from keyword arg} { 
global botnick password nickname altnick 
if {([string match "*The nick * is currently being held by a Services Enforcer*" $arg])} { 
putquick "NICK $altnick"
putserv "PRIVMSG NickServ@services.dal.net :release $nickname $password" 
putlog "The nick \002\[$nickname\]\002 is currently being held by a Services Enforcer..."
putserv "NICK $nickname"
} 
} 

proc do_release_notice { nick uhost handle text dest } { 
global botnick nickserv release nickname password 
if { $nick == $nickserv } {
putquick "NICK $altnick"
putserv "PRIVMSG NickServ@services.dal.net :release $nickname $password" 
putlog "The nick \002\[$nickname\]\002 is currently being held by a Services Enforcer..."
putserv "NICK $nickname"
}
}

################################################################################################################
#end
################################################################################################################

NickServ Services By Shadowless

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.