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.

Script Edit

Old posts that have not been replied to for several years.
Locked
j
joshprice

Post by joshprice »

Can someone edit this script so that I can have just one password for everyone. Like say I want the password to be 123456 for someone to enter the channel. So when the user joins the bot will msg the person "Please enter your password (you have 3 minutes)" Type /msg $botnick pass <your password>" Can someone please do this for me.

Here is the script:

Code: Select all

bind join p * check_fake

proc check_fake {nick uhost hand channel} {
  global botnick
  if {[botisop $channel] == 0} {return 1}
  putserv "privmsg $nick :razz:lease enter your password (you have 3 minutes)"
  putserv "privmsg $nick :Type  /msg $botnick voice <your password> $channel"
  set timer_id [utimer 180 "chk_tpass $nick $uhost $hand $channel"]
}

proc chk_tpass {nick uhost hand channel} {
  global banmask botnick
    if {[onchan [hand2nick $hand $channel] $channel] == 0} {return 1}
    if {[isop [hand2nick $hand $channel] $channel] == 0} {
    set lhost "*!*[string range $uhost [string first "@" $uhost] end]"
    set ftolhost "[string range $lhost 3 end]"
      if {([string match "*ppp*" $ftolhost] || [string match "*dial*" $ftolhost] || [string match "*slip*" $ftolhost])} {
        set banmask "*!*[string range $uhost [string first "@" $uhost] end]"
      } else {
          set banmask "*!*[string trimleft [maskhost $uhost] *!]"
        }


      putserv "mode $channel -o+b $nick $banmask"
      putserv "kick $channel [hand2nick $hand $channel] :^BFake OP^B !"
      newchanban $channel $banmask $botnick "^BFake OP^B !" 10
      putserv "privmsg $nick :Wrong password !"
      return 1
    }
    putserv "privmsg [hand2nick $hand $channel] :Thank you, $hand !"
    return 1
}


putlog "^BCheckFake.TCL^B v1.2 by ^BTeraByte^B loaded !"
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

try the following

Code: Select all

#set the password needed to join the channel
set joinpass "ABC123"

#How many mins till they are kicked
set joinmins 3

#channel to do this on
set joinchan "#channel"

### DOWN LOOK DOWN, IT'S BUMPY HERE
set joinhash {}
bind join - "${joinchan} %" myjoin:protect
proc myjoin:protect {nick uh hand chan} {
  global joinhash joinmins botnick
  lappend joinhash [list $nick $joinmins]
  puthelp "NOTICE $nick :You need a supply a password to stay in channel - type "/msg $botnick joinpass <password>""
}
bind sign - "${joinchan}" myjoin:remove
proc myjoin:remove {nick uh hand chan} {
  global joinhash
  if {[set idx [lsearch -glob $joinhash "$nick *"]] >= 0} {
    set joinhash [lreplace $joinhash $idx $idx]
  }
}
bind nick - "${joinchan} %" myjoin:change
proc myjoin:change {nick uh hand chan nn} {
  global joinhash
  if {[set idx [lsearch -glob $joinhash "$nick *"]] >= 0} {
    set joinhash [lreplace $joinhash $idx $idx [list $nn [lindex [lindex $joinhash $idx] 1]]]
  }
}
bind time - "*" myjoin:timer
proc myjoin:timer {min hour day month year} {
  global joinhash joinchan
  set temp {}
  foreach _A $joinhash {
    set nick [lindex $_A 0]
    set m [expr [lindex $_A 1] - 1]
    if {$m == 0} {
      puthelp "NOTICE $nick :You did not supply the password on time"
      putserv "MODE $joinchan -o+b $nick [maskhost [getchanhost $nick $joinchan]]"
    } else {
      lappend temp [list $nick $m]
    }
  }
  set joinhash $temp
}
bind msg - "joinpass" myjoin:password
proc myjoin:password {nick uh hand chan arg} {
  global joinhash joinpass
  if {[string match [lindex [split $arg] 0] $joinpass]} {
    if {[set idx [lsearch -glob $joinhash "$nick *"]] >= 0} {
      puthelp "NOTICE $nick :Correct password entered"
      set joinhash [lreplace $joinhash $idx $idx]
    }
  }
}
j
joshprice

Post by joshprice »

Well that works just fine except if you enter the right pass it does this in the bot:
[14:51] TCL error [myjoin:password]: no value given for parameter "arg" to "myjoin:password"

and then it will still kick the user

<font size=-1>[ This Message was edited by: joshprice on 2001-11-28 16:01 ]</font>
W
Wcc
Master
Posts: 278
Joined: Sun Oct 28, 2001 8:00 pm
Location: USA
Contact:

Post by Wcc »

Find this line:

Code: Select all

proc myjoin:password {nick uh hand chan arg} {
and make it

Code: Select all

proc myjoin:password {nick uh hand arg} {
Locked