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.

protect nicks

Old posts that have not been replied to for several years.
Locked
P
Pitchat
Op
Posts: 122
Joined: Tue Feb 18, 2003 11:24 pm
Location: Hebertville Quebec Canada
Contact:

protect nicks

Post by Pitchat »

Hi , i`d like to know how to make a tcl who will prevent people to join in my channel with a nick who match one of the nicks include in the userlist
(to protect my users nicknames) with a message like you havea protected handle please change nick and rejoin.

i try to do it but i mess up badly so i`m begging here :)


thanks
P
Pitchat
Op
Posts: 122
Joined: Tue Feb 18, 2003 11:24 pm
Location: Hebertville Quebec Canada
Contact:

Post by Pitchat »

i`m trying once again :)

is it possible to make the eggdrop tempban people who join a channel and his nick matches a nick in the userlist of the eggdrop

i.e. to protect in a specified channel the nicknames of the user of the egg

Thanks

Pitchat
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

Code: Select all

set tempbantime 1
bind join - * ban_protectednicks
proc ban_protectednicks {nick host hand chan} {
  global botnick tempbantime
  if {[validuser $nick]} {
    newchanban $chan [maskhost $host] $botnick "Protected nick" $tempbantime
    putkick $chan $nick
  }
}
^^untested :)
Elen sila lúmenn' omentielvo
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Code: Select all

# settings
set friends(list) {foo bar}
set friends(reason) "Protected nick!"
set friends(bantime) 1 

# binds
bind join - * friends:join
bind nick * * friends:nick

proc friends:join {nick host hand chan} { 
  global botnick friends
  foreach friend [split [string tolower $friends(list)]] {
    if {![string match "$friend" [string tolower $nick]] || [validuser $nick]} { continue }
    newchanban $chan [maskhost $host] $botnick "$friends(reason)" $friends(bantime)
    putkick $chan $nick 
  }
}

proc friends:nick {nick uhost hand chan newnick} {
  global botnick friends
  foreach friend [split [string tolower $friends(list)]] {
    if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue }
    newchanban $chan [maskhost [getchanhost $newnick $chan]]" $botnick "$friends(reason)" $friends(bantime)
    putkick $chan $newnick 
  }
}
Once the game is over, the king and the pawn go back in the same box.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Hi Caesar,

set friends(list) {foo bar}

i was wondering how this will work if let say "foo" is in bots userlist and some user join the channel and not in bots userlist, so bot should kick that user that "foo" is in bots userlist...

right now if "foo" is NOT in bots userlist, and someone use "foo", then it kick/ban

how do i fix this, if person is known to the bot, and some user join the channel or chnage the nick to that bot's known user, and kickban that user...that don't use bot's known users nicks...

advance thanks
EEggy
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Oups, noticed a bug :) In the join proc replace from:

Code: Select all

if {![string match "$friend" [string tolower $nick]] || [validuser $nick]} { continue }
to:

Code: Select all

if {![string match "$friend" [string tolower $nick]] || [validuser $hand]} { continue }
Also, in the nick proc replace from:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue }
to:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue }
and should be working now if someone uses a "protected" nick from the list.
Once the game is over, the king and the pawn go back in the same box.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Thanks Caesar!
but the following are the same....
Also, in the nick proc replace from:
Code:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue } 
 
to:
Code:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue } 
 





how do i fix this banmask so it can ban in this format, *!*ident@*.aol.com, if server ident is enable or not, like if user has an ident
hello@aol.com or ~hello@aol.com, so in both cases it should ban *!*hello@*.aol.com

Code: Select all

set mask [lindex [split [maskhost [getchanhost $nick $channel]] ~] end] 

thank you
EEggy
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Oups.. yup.. a bad day.. Replace from:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $newnick]} { continue }
to:

Code: Select all

if {![string match "$friend" [string tolower $newnick]] || [validuser $hand]} { continue }
my appologies for that. :oops: The banmask is *!?ident@*.host if you have in the .conf file strict-host set to 1 and *!ident@*.host if is set to 0.
Once the game is over, the king and the pawn go back in the same box.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

caesar, thank you so much.

just one last question
newchanban $chan "[maskhost [getchanhost $newnick $chan]]" $botnick "$friends(reason)" $friends(bantime)

is "" are required around the-> "[maskhost [getchanhost $newnick $chan]]" and -> "$friends(reason)"

THANKS again.
EEggy
Locked