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
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Chanservneed

Post by De Kus »

I am currently too lazy to repost the whole thing, so I make it short (and probably add later the full one):
  • ChanServ features: reop, unban and invite on need
  • NickServ features: stay authed, keep primary nick, ghost nick if needed and probably always join with authed main nick in chan
  • General features: event driven interaction, only acts if services are on, compact code (~250 lines)
I need feedback esspiaclly for compatiblity with networks not running default services or with changed strings from the defaults I know.
I will not add a "works-at-instant-for-any-networks" feature, but I would provide some general possibilties to configure the neccessary.

Download (v1.5.4 13.09.06):
http://home.arcor.de/dekus/chanservneed.zip
http://home.arcor.de/dekus/chanservneed.tar.bz2
Last edited by De Kus on Wed Sep 13, 2006 7:32 am, edited 12 times in total.
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 »

I did a script like ChanServ Auto Need a year ago when I was very new with TCL. The script still has bugs, maybe you can upgrade it if you like or I can when I get time, because some silly things and bugs in it do need to be fixed and that huge code needs to be minimized by say adding switch functions and so.

It's added on egghelp.org:
http://www.egghelp.org/cgi-bin/tcl_arch ... ad&id=1023
·­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 »

besides except that script is simply huge and has tons of redudant code, configurations and features I cannot find a feature my script couldn't handle. As said before, I want to make the rejoin event driven (meaning instead of using utimer for the JOIN, I want to bind to the chanserv respond). But this is planed for future.

If you can tell me a feature from your script, my script doesnt support and isn't supported by the eggdrop core either (example: your key remove setting, you could simply use the '.chanset #channel chanmode' feature to enforce setting of a given key or remove the key), I could try to include it into mine ^-^.
Of course my script needs more configuration via partyline, but the other way you can easily permanently change them via partyline again without updating the script ^^.
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 »

Yes it does need serious updates as I said earlier, nevermind I'll plan todo it within this month hopefully and improve the code and add more features to it.

You can bind to chanserv respond, say "Channel bans for #awyeah have been cleared" if the bot is trying to rejoin." Then call your need-unban proc from there or enforce a putquick JOIN, or channel -inactive which ever you are using.

Mines just enhance the need-* functions a bit, nothing big.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

I was going to start coding a similar script, good thing you did it :P . I'll load it on my bot and give feedback.
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

I am currently beta-testing these code changes:

Code: Select all

set joinbindunban "set bind \"*You have been unbanned from \002\$channel\002.\""
for configuartion and should be adjusted for the network :)

Code: Select all

      	eval $::joinbindunban
      	bind notc f $bind "{handle:join} {$channel} {$bind}"
for need unban

Code: Select all

proc handle:join {chan bind nick uhost hand text dest} {
	if { $hand == "chanserv" } {
		putquick "JOIN :$chan"
		unbind notc m $bind "{handle:join} {$chan} {$bind}"
	}
	return 0
}
the proc called from the need binds

It looks good so far, so might release it soon as v1.3. Maybe someone can see possible trouble just by looking at it. It fascinating, but it really works that way :).
I didn't come up with a faster, easier, shorter and most fexible and realiable possibility. Just in the case we need to rejoin 2 channels at once, this script should still rejoin that channel it has really been fixed for.
Last edited by De Kus on Tue Apr 12, 2005 6:49 am, edited 1 time in total.
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 »

My bot's on DALnet, and the script did not work. The bot didn't identify at all.

added nickserv and chanserv to the userlist as requested:
.whois nickserv
HANDLE PASS NOTES FLAGS LAST
nickserv yes 0 f never (nowhere)
HOSTS: *!service@dal.net
.whois chanserv
HANDLE PASS NOTES FLAGS LAST
chanserv yes 0 jlmoptx never (nowhere)
HOSTS: *!service@dal.net
and changed the notice masks to:
bind notc f|- "*owned by someone else*" handle:nickneed
bind notc f|- "*Password accepted*" handle:nickauthed
bind notc f|- "*ghost has been successfully killed*" handle:nickchange
bind notc f|- "*Your nick has been changed to Guest*" handle:deguest
bind notc m|- "*do not have access to*" handle:permneed
Yet, the bot did not identify. Any suggestions ?
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

maybe the bots sees nickserv as chanserv, because they have the same hostmark ^-^.

Mine looks like this:

Code: Select all

[22:18:42] #De_Kus# whois chanserv
HANDLE                         PASS NOTES FLAGS           LAST
chanserv                       no       0 efhjlmoptx      10 Mar (#rns)
                       #dn                -               18 Mar
                       #anime-center      -               13 Apr
                       #rns               lov             10 Mar
                       #ragnarokonline    lov             27 Apr
  HOSTS: ChanServ!services@euirc.net
PS: I hope you don't mind that I just copied your DALnet binds to the script :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 »

ok, I added NickServ!service@dal.net to nickserv and ChanServ!service@dal.net to chanserv. The bot doesn't send identification when it recieves "*owned by someone else*" notice.
[15:32] -NickServ (service@dal.net)- This nick is owned by someone else. Please choose another.
[15:32] -NickServ (service@dal.net)- If this is your nick, type: /msg NickServ@services.dal.net IDENTIFY <password>
[15:32] -NickServ (service@dal.net)- Your nick will be changed in 60 seconds if you do not comply.
but when I manually identify:
[15:33] NickServ accepted identification.
[15:33] -NickServ (service@dal.net)- Password accepted for botnick.
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

have you edited your server entries to contain your nickpass as serverpass (I somehow love this feature, saves some byte and makes a faster impression to me), or if DALnet doesnt support this, did you set initservpassneeded to 1?

Code: Select all

proc handle:serverinit {type} {
	global nick nickpass nickservmask nickauthed initservpassneeded
	set nickauthed 2
	if { ![isbotnick $nick] } {
	  putquick "$nickservmask :GHOST $nick $nickpass"
	} elseif { $initservpassneeded } {
		putquick "$nickservmask :IDENTIFY $nickpass"
	}
	return 0
}
as you can see, password won't be send by the script, if the var is set to 0 (what is its default, maybe I should change this to the opposite for the public version :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 »

lol, I actually didn't understand what you meant with that setting so I ignored it. When I set it to 1 the script worked fine. I'll come back with extra feedback about it.

PS: add (DALnet set this to 1) in its comment :P
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

Oh yeah, I'm over 1000 posts *again* :D
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:lol, I actually didn't understand what you meant with that setting so I ignored it. When I set it to 1 the script worked fine. I'll come back with extra feedback about it.

PS: add (DALnet set this to 1) in its comment :P
I will set to 1 by default, I hope I won't forget it when actually copiing the changes into the public script ^-^.
Sir_Fz wrote:Oh yeah, I'm over 1000 posts *again* :D
how dare you spam in my thread :D.
congratz anyway :P.
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 »

You can maybe add NickServ and ChanServ to a watch list, and then only send nick identification or channel unban request to them, and on triggers received from those replies do whatever you like.
·­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 »

you mean the bot shouldn't try to send to nickserv and chanserv if they are offline, or whats your idea?
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...
Post Reply