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 TCL Script

Old posts that have not been replied to for several years.
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

Nice to see laziness is still alive and kicking. :P
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

user wrote: Emulating chanserv through a client logged on as a normal user is not easy.
now that's an understatement ;)
J
JanisB
Voice
Posts: 1
Joined: Sun Dec 12, 2004 7:10 am

Post by JanisB »

hello, i have another question about `BotIsChanServ` theme:
how i can close/suspend channel? e.g.: +b *!*@* : I'm not going to ban myself.
How i can override this protection, because my bot is ircop, and he can use /sajoin to get himself into channel.
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

JanisB wrote:hello, i have another question about `BotIsChanServ` theme:
how i can close/suspend channel? e.g.: +b *!*@* : I'm not going to ban myself.
How i can override this protection, because my bot is ircop, and he can use /sajoin to get himself into channel.
Well, one part of this is easy, and the other not.
The not easy part is, HOW WOULD THE BOT KNOW A PERSON IS JOINING A CLOSED CHANNEL? ONLY IF THE BOT IS IN THAT OR THOSE CHANNELS, right? But the real ChanServ has some kind of list of closed channels or something which makes it check through the ircd every second say if it is empty or not, and if not it joins and kicks everyone out and then parts.

For the banning thing it is quite simple, you can make ChanServ reside in the channel you want to close and bind join and kick everyone out who join the channel, and if nick matches a specific mask, or a user flag then it would exempt it.

Code: Select all

#Channel to close
set closechan "#yourchannel"

#Your nick to exempt
set exemptnick "god"

#Your mask to exempt
set exemptmask "oper@63.147.*"


bind join - "*" close:channel

proc close:channel {nick uhost hand chan} {
 global closechan exemptnick exemptmask
  if {([isbotnick $nick]) || ([string match -nocase 
*$exemptnick* $nick]) || ([string match -nocase *$exemptmask* $uhost]) || (![string equal -nocase $closechan $chan])} { return 0 }
   putquick "MODE $chan +b *!*@*" -next
   putquick "KICK $chan $nick :This channel has been closed by ChanServ." -next
   return 0
}
Alternatively we can also make the bot check if there is no ban *!*@*, then only place it. I am not sure what SAJOIN does though, I know about SAMODE. Also depends upon the ircd you use. I've mainly use bahamut for 6-7 years.
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
Locked