Code: Select all
# This is a Tcl script to be run immediately after connecting to a server.
bind evnt - init-server evnt:init_server
proc evnt:init_server {type} {
global botnick
putquick "MODE $botnick +iR-ws"
}
Code: Select all
bind evnt - init-server evnt:init_server
proc evnt:init_server {type} {
global botnick
putserv "PRIVMSG $nickserv: AUTH my_password"; MODE $botnick +iR-ws"
}
Code: Select all
bind evnt - init-server evnt:init_server
proc evnt:init_server {type} {
global botnick
putserv "PRIVMSG $nickserv: AUTH my_password; MODE $botnick +iR-ws"
}
Check your network's NickServ for the format to identify as suggested by YooHoo. Some do not use AUTH but use IDENTIFY; also change to:YooHoo wrote:Code: Select all
putserv "PRIVMSG $nickserv: AUTH my_password"
Code: Select all
putserv "PRIVMSG $nickserv :AUTH my_password"
most likely nickserv is forcing your eggdrop to change to its altnick because a)some form of modnick protection is active or b)the botnick you have chosen for your bot either is taken by someone/thing else.Sloop wrote:The ident process works fine, but sometimes (I dunno when exactly this problem occurs) I am getting following problem:
botname changed to botname_3
botname_3 changed to botname_8
botname_8 changed to botname
now I thought it will remain here, but this [censored] continues:
botname changed to botname_7
and so on and so on ... I then have to kill my botname eggdrop process from my shell, then do a "/msg nickserv release botname password" and afterwards restart this bot again.
Do you know what's wrong??
Code: Select all
set nickservmask "PRIVMSG NickServ"^M
set chanservmask "PRIVMSG ChanServ"^M
set nickpass "mypassword"^M
^M
# set this to 0, if you want to use the serverpass for serverinit auth^M
set initservpassneeded 1^M
^M
# change these only if network uses other strings than these^M
# the set lines are the bind mask for rejoin^M
switch $network {^M
GRNet {^M
bind notc f "*nickname has been registered*" handle:nickneed^M
bind notc f "*Password accepted*" handle:nickauthed^M
bind notc f "*has been killed*" handle:nickchange^M
bind notc f "*Nickname changed to \002XXX-*" handle:deguest^M
bind notc m "*Permission denied*" handle:permneed^M
^M
set joinbindunban "*have been unbanned from \002\$channel\002*"^M
set releasebind "*has been released*"^M
set noreleasebind "*Nick \002$nick\002 isn't being held*"^M
}^M
}^M
^M
#^M
# End of configuration^M
#^M
bind need - "*" handle:need^M
bind evnt - init-server handle:serverinit^M
#you can enable that to use an encrypted password above^M
#bind evnt - loaded handle:loaded^M
bind dcc m nsfix handle:nsfix^M
bind raw - 601 {handle:servwatch 0}^M
bind raw - 605 {handle:servwatch 0}^M
bind raw - 604 {handle:servwatch 1}^M
bind raw - 600 {handle:servwatch 1}^M
bind raw - 440 {handle:servwatch 0}^M
set nickauthed 0^M
set serviceson 1^M
set joinbindunban "set bind \"$joinbindunban\""^M
^M
proc handle:need {channel need} {^M
global botnick chanservmask^M
if { !$::serviceson || [string match -nocase XXX-* $botnick] } { return 0 }^M
switch $need {^M
op {^M
if {![matchattr chanserv "|l" $channel]} { return 0 }^M
if {![matchattr chanserv "|o" $channel]} {^M
putquick "$chanservmask :halfop $channel $botnick"^M
} else {^M
putquick "$chanservmask :op $channel $botnick" -next^M
if { [matchattr chanserv "|m" $channel] } {^M
putquick "$chanservmask :admin $channel $botnick"^M
}^M
}^M
return 1^M
}^M
unban {^M
if { [matchattr chanserv "|m" $channel] } { #just to stop bot fighting in chans he has "only" op^M
putquick "$chanservmask :unban $channel" -next^M
eval $::joinbindunban^M
bind notc m $bind [list handle:join $channel $bind]^M
return 1^M
}^M
return 0^M
}^M
limit -^M
key -^M
invite {^M
if { [matchattr chanserv "|o" $channel] } {^M
putquick "$chanservmask :invite $channel" -next^M
return 1^M
}^M
return 0^M
}^M
}^M
}^M
^M
proc handle:join {chan bind nick uhost hand text dest} {^M
if { $hand == "chanserv" && $::serviceson } {^M
putquick "JOIN :$chan"^M
unbind notc m $bind [list handle:join $chan $bind]^M
}^M
return 0^M
}^M
^M
proc handle:nickneed {nick uhost hand text dest} {^M
global nickservmask nickpass nickauthed^M
if { $hand == "nickserv" && $nickauthed == 0 } {^M
set nickauthed 2^M
set serviceson 1^M
putquick "$nickservmask :IDENTIFY $nickpass" -next^M
utimer 20 [list set nickauthed 0]^M
}^M
}^M
^M
proc handle:permneed {nick uhost hand text dest} {^M
global nickservmask nickpass nickauthed^M
if { $hand == "chanserv" && $nickauthed == 0 } {^M
set nickauthed 2^M
set serviceson 1^M
putquick "$nickservmask :IDENTIFY $nickpass" -next^M
utimer 20 [list set nickauthed 0]^M
}^M
}^M
^M
proc handle:nickauthed {nick uhost hand text dest} {^M
global nickauthed^M
if { $hand == "nickserv" } {^M
set nickauthed 1^M
putlog "NickServ accepted identification."^M
utimer 120 [list set nickauthed 0]^M
}^M
}^M
^M
proc handle:nickchange {n host h t d} {^M
global nick nickauthed^M
if { $h == "nickserv" } {^M
putquick "NICK $nick" -next^M
if { $nickauthed == 1 } {^M
bind nick - "*$nick" handle:nickchangeauth^M
}^M
set nickauthed 0^M
}^M
}^M
^M
proc handle:nickchangeauth {n host h c nn} {^M
global nick nickpass nickservmask^M
putquick "$nickservmask :IDENTIFY $nickpass" -next^M
unbind nick - "*$nick" handle:nickchangeauth^M
return 0^M
}^M
^M
proc handle:serverinit {type} {^M
global nick nickpass nickservmask nickauthed initservpassneeded^M
set nickauthed 2^M
if { ![isbotnick $nick] } {^M
putquick "$nickservmask :GHOST $nick $nickpass" -next^M
} elseif { $initservpassneeded } {^M
putquick "$nickservmask :IDENTIFY $nickpass" -next^M
}^M
putserv "WATCH +NickServ +ChanServ"^M
return 0^M
}^M
^M
proc handle:loaded {evnt} {
global qauth
set ::nickpass [decrypt $::nickservmask $::nickpass]
return 0
}^M
^M
proc handle:release {n host h t d} {^M
if { $h == "nickserv" } {^M
set nickauthed 1^M
putquick "$::nickservmask :RELEASE $::nick $::nickpass" -next^M
bind notc f $::releasebind handle:deguest^M
bind notc f $::noreleasebind handle:deguest^M
}^M
return 0^M
}^M
^M
proc handle:deguest {n host hand text dest} {^M
if { $hand == "nickserv" } {^M
putquick "NICK $::nick" -next^M
catch {unbind notc f $::releasebind handle:deguest}^M
catch {unbind notc f $::noreleasebind handle:deguest}^M
}^M
}^M
^M
proc handle:servwatch {status from keyword arg} {^M
if { $keyword == 440 } {^M
set ::serviceson $status^M
} else {^M
set arg [split $arg]^M
set nick [lindex $arg 1]^M
set uhost "[lindex $arg 2]@[lindex $arg 3]"^M
set nickserv [split [lindex [getuser nickserv HOSTS] 0] !]^M
set chanserv [split [lindex [getuser chanserv HOSTS] 0] !]^M
if { ([string match -nocase [lindex $nickserv 0] $nick] && [string match -nocase [lindex $nickserv 1] $uhost]) || ([string match -nocase [lind
ex $chanserv 0] $nick] && [string match -nocase [lindex $chanserv 1] $uhost]) } {^M
set ::serviceson $status^M
}^M
}^M
return 0^M
}^M
^M
proc handle:nsfix {hand idx text} {^M
if { $::serviceson || [string match -nocase "*-force*" $text] } {^M
set ::serviceson 1^M
if { [isbotnick $::nick] } {^M
putdcc $idx "Sending auth to NickServ..."^M
putquick "$::nickservmask :IDENTIFY $::nickpass"^M
} else {^M
putdcc $idx "Requesting release of primary nick..."^M
uplevel #0 {handle:release n h nickserv t d}^M
}^M
} else {^M
putdcc $idx "I see the Services offline, if you are sure that they are online use -force as argument."^M
}^M
}^M
^M
^M
putlog "ChanservNeed v1.4.2 loaded"^M
and this goes on and on ... I have to manually kill the bot process, then do a "/msg nickserv release password" wait a little bit, and then restart my bot and hope that he gets connected[00:09] Connected to global.irc.gr
[00:09] -NOTICE- *** Looking up your hostname...
[00:09] -NOTICE- *** Found your hostname
[00:09] -NOTICE- *** bla bla bla bla here follows the MOTD and so on
[00:09] -NOTICE- *** Your host is global.irc.gr[@0.0.0.0], running version bahamut-1.4(34)+greeklish+j1
[00:09] -NOTICE- *** Notice -- motd was last changed at 7/6/2004 22:34
[00:09] -NOTICE- *** Notice -- Please read the motd if you haven't read it
[00:09] -NOTICE- *** Notice -- This server runs an open proxy monitor to prevent abuse.
[00:09] -NOTICE- *** Notice -- If you see connections on various ports from otrere.irc.gr
[00:09] -NOTICE- *** Notice -- please disregard them, as they are the monitor in action.
[00:09] -NickServ (service@irc.gr)- This nickname is registered and protected. If it is your
[00:09] -NickServ (service@irc.gr)- nick, type /IDENTIFY password. Otherwise,
[00:09] -NickServ (service@irc.gr)- please choose a different nick.
[00:09] -NickServ (service@irc.gr)- If you do not change within 20 seconds, I will change your nick.
[00:09] -NickServ (service@irc.gr)- This nickname has been registered; you may not use it.
[00:09] -NickServ (service@irc.gr)- Your nickname is now being changed to XXX-19213808979780
[00:09] Nickname changed to 'XXX-19213808979780'???
[00:09] Switching back to nick ChanProtect
[00:09] NICK IN USE: ChanProtect (keeping 'XXX-19213808979780').
[00:10] Switching back to altnick ChanProtect
[00:10] NICK IN USE: ChanProtect (keeping 'XXX-19213808979780').
[00:11] Switching back to altnick ChanProtect
[00:11] NICK IN USE: ChanProtect (keeping 'XXX-19213808979780').
[00:12] Switching back to altnick ChanProtect
[00:12] NICK IN USE: ChanProtect (keeping 'XXX-19213808979780').
[00:13] Switching back to nick ChanProtect
[00:13] Regained nickname 'ChanProtect'.
[00:13] -NickServ (service@irc.gr)- This nickname is registered and protected. If it is your
[00:13] -NickServ (service@irc.gr)- nick, type /IDENTIFY password. Otherwise,
[00:13] -NickServ (service@irc.gr)- please choose a different nick.
[00:13] -NickServ (service@irc.gr)- If you do not change within 20 seconds, I will change your nick.
[00:13] -NickServ (service@irc.gr)- This nickname has been registered; you may not use it.
[00:13] -NickServ (service@irc.gr)- Your nickname is now being changed to XXX-8213809380002
[00:13] Nickname changed to 'XXX-8213809380002'???
[00:13] Switching back to nick ChanProtect
[00:13] NICK IN USE: ChanProtect (keeping 'XXX-8213809380002').
Code: Select all
set nickservicename "NickServ@services.dal.net"
That's curious. You have both the bots main nick and alternate nick set the same i.e. ChanProtect?[00:09] Nickname changed to 'XXX-19213808979780'???
[00:09] Switching back to nick ChanProtect
[00:09] NICK IN USE: ChanProtect (keeping 'XXX-19213808979780').
[00:10] Switching back to altnick ChanProtect