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.

Chanservneed

Support & discussion of released scripts, and announcements of new releases.
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Exactly. There is no need for the bot to interact with them if services are offline and halt if they are not online. Meaning nothing can be done, like the bot can't be unbanned, maybe wait untill they come back if the bot is still banned then only.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

Hmm, I don't know if I can add this. Notify seems to be somewhat complicated. I can use it with mIRC, but the IRC server kicks my bots ass triing to simply add someone. I could nowhere find a helpfull help for notify.
[12:57:19] [!s] notify NickServ
[12:57:19] [s->] notify NickServ
[12:57:20] [@] irc.ham.de.euirc.net 421 [-RO^Bot-] notify :Unknown command
...
[13:08:30] [!s] NOTIFY :NickServ
[13:08:31] [s->] NOTIFY :NickServ
[13:08:32] [@] irc.ham.de.euirc.net 421 [-RO^Bot-] NOTIFY :Unknown command
...
[13:13:52] [!s] NOTIFY :NickServ
[13:13:53] [s->] NOTIFY :NickServ
[13:13:53] [@] irc.ber.de.euirc.net 421 [-RO^Bot-] NOTIFY :Unknown command
I feel like a noob, but everywhere I read the command is called "notify", but however, doesn't work that way I guess ^-^.
It's a pity I don't have mIRC raw server log handy ;).
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

Take a look at the code pasted on this thread:
http://forum.egghelp.org/viewtopic.php?t=8916

There are plently like those in the forum.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

thx, that helped alot. I am going to localtest now this code (just to see if it actually works, later I'll add ifs in the other procs).

Code: Select all

bind raw - 601 "{handle:servwatch} {0}"
bind raw - 605 "{handle:servwatch} {0}"
bind raw - 604 "{handle:servwatch} {1}"
bind raw - 600 "{handle:servwatch} {1}"
set nickservon 1
set chanservon 1
...
proc handle:servwatch {status from keyword arg} {
	set arg [split $arg]
	set nick [lindex $arg 1]
	set uhost "[lindex $arg 2]@[lindex $arg 3]"
	set nickserv [split [lindex [getuser nickserv HOSTS] 0] !]
	set chanserv [split [lindex [getuser chanserv HOSTS] 0] !]
	if { ([string match -nocase [lindex $nickserv 0] $nick] && [string match -nocase [lindex $nickserv 1] $uhost]) || ([string match -nocase [lindex $chanserv 0] $nick] && [string match -nocase [lindex $chanserv 1] $uhost]) } {
		set ::[string tolower $nick]on $status
		putlog "$nick $status"
	}
}
[14:23:38] tcl: evaluate (.tcl): putserv watch
Tcl:
[14:23:41] ChanServ 1
[14:23:41] NickServ 1
Looks good so far :).

Later I'll test if on serverinit the watch have to put to server manuelly or if the server will send it automatically. maybe I need even a switch for this, because that might vary from server to server.
my Code is based on following raw log:
[13:52:26] [@] irc.ber.de.euirc.net 604 [-RO^Bot-] ChanServ services euirc.net 1109772892 :is online
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

okay, I uploaded the most recent version with all new features. I didn't test all of the features, so there might be here or there some stupid typos / paste errors, but as far as I can see it looks fine.
I removed the putquick "JOIN $channel" in the invite section, because eggdrop joins automatically when he recieves the invitation. However I don't know since when this is a feature from eggdrop, so I hope this no major backwards compatibility (as long it runs on any 1.6.* its fine with me ^-^). I also saved some code by using the - feature of switch (I had 2 identically bodies in the switch and somewhen I must have accidently removed key :D).
Of course the WATCH thing is now integrated, I hope I didn't miss a procedure ^^ (that requires the check, because proc called from nickserv feedback can most likly answer :D).

If you can't think of any more important features I will only bugfix the existing script and maybe add some configurations set for major networks, as far there are even more neccessary.
If this version can be confirmned as working, stable and secure I will post to the TCL archieve.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

What are all the features of the script so we won't suggest something already featured ?
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

I summerized about what it does, I don't know if without writing a roman I can actually descripe what it exactly does in the inizial post. I could try to phrase the whole to make a plot of all its possible actions, but I suppose the most you will simply see when you look at the binds:
Network settings:
bind notc f "*This nickname is registered and protected. If it is your" handle:nickneed
bind notc f "*Password accepted - you are now recognized." handle:nickauthed
bind notc f "*Ghost with your nick has been killed." handle:nickchange
bind notc f "*Your nickname is now being changed to \002Guest*" handle:deguest
bind notc m "*Permission denied." handle:permneed

#I dont have the DALnet variant of these 3
set joinbindunban "*You have been unbanned from \002\$channel\002."
set releasebind "*Services' hold on your nick has been released."
set noreleasebind "*Nick \002$nick\002 isn't being held."

General Settings (not intended to be modified):
bind need - "*" handle:need
bind evnt - init-server handle:serverinit
bind raw - 601 {handle:servwatch 0}
bind raw - 605 {handle:servwatch 0}
bind raw - 604 {handle:servwatch 1}
bind raw - 600 {handle:servwatch 1}
bind raw - 440 {handle:servwatch 0}

Dynamic binds (bind and unbind within the script dynimatically)
bind notc m $bind [list handle:join $channel $bind]
bind nick - "*$nick" handle:nickchangeauth
bind notc f $::releasebind handle:deguest
bind notc f $::noreleasebind handle:deguest
But good you remembered me, I have a few minor fixes. Because its some days ago I will just copy from the script header:

Code: Select all

# 1.4.2 14.04.05 minor adjustments for better handling of netsplit lags
# 1.4.1 12.04.05 some code changes for offline detection and deguest handling
#                removed nickchange IDENTFIY because it was redudant
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

All good by me, but maybe for some users a dcc/pub identification command might be useful.
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

Sir_Fz wrote:All good by me, but maybe for some users a dcc/pub identification command might be useful.
are you talking about something like that?

Code: Select all

bind dcc m nsfix handle:nsfix
proc handle:nsfix {hand idx text} {
	global nick nickpass nickservmask serviceson
	if { $serviceson || $text == "-force" } {
		set serviceson 1
		if { ![isbotnick $nick] } {
			putdcc $idx "Requesting release of primary nick..."
			uplevel #0 {handle:release n h nickserv t d}
		} else {
			putquick "$nickservmask :IDENTIFY $nickpass"
			putdcc $idx "Sending auth to nickserv..."
		}
	} else {
		putdcc $idx "I see the Services offline, if you are sure that they are online use -force as argument."
	}
}
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

Yeah, that's it. But you might want to use 'string equal -nocase' to match -force to first word of text.
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

New version 1.4.4

Changes since 1.4.2:
I am releasing 2 minor updates:
- Added dcc command nsfix (you could have added it from the paste above anyway)
- Added log entry when sending password for debugging purpose
- some unknown code optimations that should not affect any behavior, I can't even remember what it was, but I believe there was something :D

known flaws:
I am still lacking the DALnet variant for these 2 bindings:
set joinbindunban "*You have been unbanned from \002\$channel\002."
set releasebind "Services' hold on your nick has been released."
set noreleasebind "Nick \002$nick\002 isn't being held."
There seems to be cases in which the bots fails into the guestnick fight with nickserv.
Since I cannot recreate that kind of situation without nickserv going wild or netsplits, I would appreciate some logs showing nickchanges, auth sending logs and nickserv notices. Raw logging (with censored passwords ;)) and logs with seconds are prefered of course :).

I hope I can update the tcl archieve with that version as soon as I can fix that issue or get a confirmation it is nolonger present.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

changes since 1.4.5:
- fixed guestnick bug, was bind to wrong proc
- fixed a bug that might make the bot trouble when nickserv was not avaible at login

really silly bug, noticed it when I was about to rewrite this part and noticed that all proc I wanted to write already existed, but the the first proc in the row was not bound to anything :D.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

The three unadjusted settings for DALnet should be:

Code: Select all

set joinbindunban "Any bans matching \002\$botnick\002 on \002\$chan\002 have been cleared."

set releasebind "The nickname \002$nick\002 has been released."

# As for the third, on DALnet it always says that nickname has been released... so this setting doesn't exist.
set noreleasebind "Nick \002$nick\002 isn't being held."
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

ahh, thank you very much. I updated the file, dont believe it deservs a new version number since probably nobody else downloaded it already :D.

PS: omg, almost uploaded the file with my password *g*
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

Anyone that notices the following (when their bot is connecting):

Code: Select all

[01:05] Tcl error [handle:servwatch 1]: No such user.
.. No real cause for alarm, the bot is ignoring services. The above mainly applies to DALnet since NickServ now throws extra lines of information at users when they identify i.e.
NickServ REMINDER: Do not share your password with anyone. DALnet staff will not ask for your password unless
NickServ you are seeking their assistance. See http://docs.dal.net/docs/passwords.html for more information.
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
Post Reply