egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Invite Script - Multi Channel ?

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Scripting Help
View previous topic :: View next topic  
Author Message
Elfriede
Halfop


Joined: 07 Aug 2007
Posts: 67

PostPosted: Fri May 09, 2008 6:22 am    Post subject: Invite Script - Multi Channel ? Reply with quote

Hi everybody Smile

I've got the following of the tcl archive. No way to reach the author. Can someone help to make this script multichannel ?

Code:

###########################################
#                     
# Channel invite 0.1 BETA         
# Scripted by Dreamer            
#                      
###########################################
#   
# Type /msg <botnick> @add <nick> <pass>
# to add someone to the database
# Type /msg <botnick> @invite <nick> <pass>
# to get invited in to channel
#
# History:
# 0.1: First version
#
###########################################
# EDIT FROM HERE

# Channel where the bot wil invite
set chan_1 "#chav"

# Name of the database
set db scripts/chan.invite

# STOP EDITING FROM HERE

set ver "0.1"

bind msg - @add add_1
bind msg - @invite inv_1

putlog "Channel invite $ver by Dreamer loaded"

# Script starts now

proc add_1 { nick uhost hand args } {
   global chan_1 db
   set args [split $args " "]
   set user [lindex $args 0]
   set user [string range $user 1 end]
   set pass [lindex $args 1]
   set pass [string range $pass 0 end-1]
   if { $user == "" || $pass == "" } {
         putserv "PRIVMSG $nick :Please instert a Nickname and a password"
         return 0
   }
   set up $user|$pass
   set wfile [open $db a+]
   puts $wfile $up
   close $wfile
   putserv "PRIVMSG $chan_1 :\[\00314DB UPDATE\003\] $user is added to Database by $nick"
}

proc inv_1 { nick uhost hand arg } {
   global chan_1 db
   set found 0
   set arg [split $arg " "]
   set user1 [lindex $arg 0]
   set user1 [string range $user1 0 end]
   set pass1 [lindex $arg 1]
   set pass1 [string range $pass1 0 end]
   set up1 $user1|$pass1
   set found 0
   set fs [open $db r]
   while {![eof $fs]} {
   gets $fs line
   if {$line == $up1} { set found 1 }
   }
   close $fs
   if {$found} {
   putserv "PRIVMSG $chan_1 :\[\00314INVITE\003\] $user1 invited him/herself as $nick"
    putserv "invite $nick $chan_1"
   } else {
   putserv "PRIVMSG $nick :Wrong pass or username !!!!"
   putserv "PRIVMSG $chan_1 :\[\0034INTRUDER\003\] $nick tried to get in the channel"
   }
}


Thx 4 help !
Back to top
View user's profile Send private message
Papillon
Owner


Joined: 15 Feb 2002
Posts: 724
Location: *.no

PostPosted: Fri May 09, 2008 7:06 am    Post subject: Reply with quote

Code:
###########################################
#                     
# Channel invite 0.1 BETA         
# Scripted by Dreamer           
#                     
###########################################
#   
# Type /msg <botnick> @add <nick> <pass>
# to add someone to the database
# Type /msg <botnick> @invite <nick> <pass>
# to get invited in to channel
#
# History:
# 0.1: First version
#
###########################################
# EDIT FROM HERE

# Channel where the bot wil invite
set chan_1 "#chav #chan2 #chan3"

# Name of the database
set db scripts/chan.invite

# STOP EDITING FROM HERE

set ver "0.1"

bind msg - @add add_1
bind msg - @invite inv_1

putlog "Channel invite $ver by Dreamer loaded"

# Script starts now

proc add_1 { nick uhost hand args } {
   global chan_1 db
   set args [split $args " "]
   set user [lindex $args 0]
   set user [string range $user 1 end]
   set pass [lindex $args 1]
   set pass [string range $pass 0 end-1]
   if { $user == "" || $pass == "" } {
         putserv "PRIVMSG $nick :Please instert a Nickname and a password"
         return 0
   }
   set up $user|$pass
   set wfile [open $db a+]
   puts $wfile $up
   close $wfile
   putserv "PRIVMSG $chan_1 :\[\00314DB UPDATE\003\] $user is added to Database by $nick"
}

proc inv_1 { nick uhost hand arg } {
   global chan_1 db
   set arg [split $arg " "]
   set user1 [lindex $arg 0]
   set user1 [string range $user1 0 end]
   set pass1 [lindex $arg 1]
   set pass1 [string range $pass1 0 end]
   set up1 $user1|$pass1
   set found 0
   set fs [open $db r]
   while {![eof $fs]} {
   gets $fs line
   if {$line == $up1} { set found 1 }
   }
   close $fs
   if {$found} {
   foreach ch [split $chan_1 " "] {
      putserv "PRIVMSG $ch :\[\00314INVITE\003\] $user1 invited him/herself as $nick"
      putserv "invite $nick $ch"
   }
   } else {
   putserv "PRIVMSG $nick :Wrong pass or username !!!!"
   putserv "PRIVMSG $chan_1 :\[\0034INTRUDER\003\] $nick tried to get in the channel"
   }
}
this should do the trick
_________________
Elen sila lúmenn' omentielvo


Last edited by Papillon on Fri May 09, 2008 9:21 am; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
Elfriede
Halfop


Joined: 07 Aug 2007
Posts: 67

PostPosted: Fri May 09, 2008 8:05 am    Post subject: Reply with quote

Thx, but on doing the invite command, nothing happens Sad

Hopefully you'll help me out
Back to top
View user's profile Send private message
Papillon
Owner


Joined: 15 Feb 2002
Posts: 724
Location: *.no

PostPosted: Fri May 09, 2008 9:22 am    Post subject: Reply with quote

hmm.. made a small modification, try it now
_________________
Elen sila lúmenn' omentielvo
Back to top
View user's profile Send private message MSN Messenger
Elfriede
Halfop


Joined: 07 Aug 2007
Posts: 67

PostPosted: Fri May 09, 2008 9:32 am    Post subject: Reply with quote

Works perfect now ! Thank you very much !
Back to top
View user's profile Send private message
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Fri May 09, 2008 9:49 am    Post subject: Reply with quote

Code:
proc add_1 { nick uhost hand args } {
   global chan_1 db
   set args [split $args " "]
   set user [lindex $args 0]
   set user [string range $user 1 end]
   set pass [lindex $args 1]
   set pass [string range $pass 0 end-1]

...snipped irrelevant sections...

proc inv_1 { nick uhost hand arg } {
   global chan_1 db
   set arg [split $arg " "]
   set user1 [lindex $arg 0]
   set user1 [string range $user1 0 end]
   set pass1 [lindex $arg 1]
   set pass1 [string range $pass1 0 end]

HAW.. Do you see the problem here?
The top proc incorrectly uses the special variable $args (you aren't using multiple binds with different sets of parameters to trigger this proc meaning args is used for no reason) and needs to do string range tricks ('1' and 'end-1' rather than '0' and 'end') to keep curly bracings out of the output.. lmao

Notice the bottom proc needlessly uses string range for no apparent reason (using it with 0-end range is equivalent to not using it at all), this is because the scripter probably couldn't figure out why they had to use it in the top proc (they used args, they had to to keep curly bracings from leading and ending the output..HAW) and not in the bottom.. lmao
Quote:
<scripter> why are curly braces showing up?
<scripter> oh well, some bitching string ranges will clean that up

LMAO! I'm sure all of us have used kludges such as this to fix issues that were out of our tcl scope (as you learn more, of course, you too can spot these things easily and fix them correctly).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Scripting Help All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber