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 

modification

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


Joined: 26 Dec 2005
Posts: 82

PostPosted: Mon Jan 30, 2006 8:08 pm    Post subject: modification Reply with quote

Code:
# Basic Request script

# GNU License
# This program is free software; you can redistribute it and/or modify     
# it under the terms of the GNU General Public License as published by     
# the Free Software Foundation; either version 2 of the License, or         
# (at your option) any later version.                                       
#                                                                           
# This program is distributed in the hope that it will be useful,           
# but WITHOUT ANY WARRANTY; without even the implied warranty of           
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             
# GNU General Public License for more details.                             
#                                                                           
# You should have received a copy of the GNU General Public License         
# along with this program; if not, write to the Free Software               
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

# /* This is a basic request script, It will join the channel, check some settings and stay/part if accepted.
# *  This does NOT add other bots to that channel.
# *  If you want it to do that, You will have to make it do that yourself :)
# *  If you have any questions about this script, feel free to ask me in #v1per on irc.quakenet.org
# *  Also, if you find any bugs, the same channel, my nickname is metroid
# *  Also, leave my copyright in, If you want to put your own copyright in MY script, Make your own script completely from scratch.
# */

# /* Installing the request script
# *  First, put the script into your /home/user/*eggdrop name*/scripts folder.
# *  Then at the end of your eggdrop.conf, Put:
# *  source scripts/request.tcl
# *  Just rehash the bot after you've done this and it should work.
# */

# /* This is a VERY basic idea of what you can use for a request system with eggdrops.
# *  It's very flexible as it's really easy to just add whatever you want to it :)
# *  Good luck with making your own request script and if you need some help, you can contact me.
# */

namespace eval request {
 variable version "1.0"
 variable author  "metroid"
 
 # Configuration!
 # Our homechannel, they can only request here.
 variable homechan "#v1per"
 # Ammount of people we require.
 variable needed   "30"
 # Do we want a Q or L?
 variable service  "1"
 
 # Do we send a message to the homechannel when a request fails?
 variable tell     "1"
 
 # End of Config!
 # Do NOT edit anything below these lines
 
 variable busy     "0"
 
 bind PUB  -|-  !request  [namespace current]::request
}

proc request::request {nickname hostname handle channel arguments} {
 if {[string equal -nocase $channel $request::homechan]} {
  if {!$request::busy} {
   set chan [lindex [split $arguments] 0]
   if {$chan != "" && ![validchan $chan]} {
    if {[string index $chan 0] == "#"} {
     set request::busy 1
    bind RAW -|- 315 [namespace current]::who
    utimer 30 [list [namespace current]::timeout $chan]
    channel add $chan
    set ::info "$nickname $chan"
   } else {
    putquick "NOTICE $nickname :A channel name starts with an #."
   }
   } else {
    putquick "NOTICE $nickname :You seem to have given an improper syntax for the channel."
   }
  } else {
   putquick "NOTICE $nickname :Sorry, there is already a request in progress."
  }
 }
}

proc request::who {server raw arguments} {
unbind RAW -|- 315 [namespace current]::who
if {$request::busy} {
 if {![info exists ::info]} { return 0 }
 set nickname [lindex [split $::info] 0]
 set channel [lindex [split $::info] 1]
 unset ::info
 set request::busy 0
 if {![onchan $nickname $channel] || ![isop $nickname $channel]} {
  putquick "NOTICE $nickname :You are not on $channel or you aren't opped."
  if {$request::tell} {
   putquick "PRIVMSG $request::homechan :Request for $channel failed. $nickname is not on $channel or is not opped."
  }
  channel remove $channel
  return 0
 }
 if {$request::service} {
   if {![onchan L $channel] && ![onchan Q $channel]} {
    set busy 0
    putquick "NOTICE $nickname :Q or L was not found on $channel."
    if {$request::tell} {
     putserv "PRIVMSG $request::homechan :Request for $channel failed. There is no Q or L on $channel."
    }
    channel remove $channel
    return 0
   }
  }
  if {[llength [chanlist $channel]] < $request::needed} {
    putquick "NOTICE $nickname :$channel has less than $request::needed users."
    if {$request::tell} {
     putserv "PRIVMSG $request::homechan :Request for $channel failed. There are not enough users on $channel (There are [llength [chanlist $channel]] users)."
    }
    channel remove $channel
    return 0
  }
  # Request is accepted
  putquick "NOTICE $nickname :Your request is accepted. I will stay on $channel."
  putquick "PRIVMSG $request::home :Request from $nickname for $channel was accepted. The channel has [llength [chanlist $channel]] users."
  if {![validuser [nick2hand $nickname]]} {
   adduser $nickname *![getchanhost $nickname]
   chattr $nickname |+n $channel
  } else {
   chattr [nick2hand $nickname] |+n $channel
  }
 }
}
 
proc request::timeout {chan} {
 if {[validchan $chan] && ![botonchan $chan]} {
  channel remove $chan
  putquick "PRIVMSG $request::homechan :Request for $chan failed. Bot cannot join $chan."
  if {[info exists ::info]} { unset ::info }
 }
}

proc request::version {} {
 putlog "Basic Request script version: $request::version by $request::author was loaded successfully."
}
   
request::version



Hi it possible to change the request cmd !request #chan By !request <nickbot> #chan

expl:

set botnicks "botnick1 botnick2 botnick3 etc etc etc"

!request botnick1 #chan
!request botnick2 #chan

Thx and copyright respected just modif.
Back to top
View user's profile Send private message
demond
Revered One


Joined: 12 Jun 2004
Posts: 3073
Location: San Francisco, CA

PostPosted: Tue Jan 31, 2006 12:41 am    Post subject: Reply with quote

Code:

proc request {n u h c t} {
   foreach {bn chan} [split $t] break
   if ![isbotnick $bn] return
   ...

_________________
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use [code] tag when posting logs, code
Back to top
View user's profile Send private message Visit poster's website
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Tue Jan 31, 2006 10:26 am    Post subject: Reply with quote

set botnicks "Bot Bot2"


Code:
proc request {n u h c t} {
   foreach {bn chan} [split $t] break
   if ![$botnicks $bn] return 
 if {[string equal -nocase $channel $request::homechan]} {
  if {!$request::busy} {
   set chan [lindex [split $arguments] 0]
...



!request Bot #chan


no reponse...

Prbl is?

thx
Back to top
View user's profile Send private message
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Wed Feb 01, 2006 11:18 am    Post subject: Reply with quote

no solution? Sad
Back to top
View user's profile Send private message
demond
Revered One


Joined: 12 Jun 2004
Posts: 3073
Location: San Francisco, CA

PostPosted: Thu Feb 02, 2006 12:01 am    Post subject: Reply with quote

dude, go learn Tcl's basics before posting here, you are supposed to know that [$botnicks $bn] is a nonsense
_________________
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use [code] tag when posting logs, code
Back to top
View user's profile Send private message Visit poster's website
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Thu Feb 02, 2006 9:47 am    Post subject: Reply with quote

Code:
bind PUB  -|-  !request [namespace current]::request
}

proc request {n u h c t} {
foreach {botnicks chan} [split $t] break
   if {$requestbot == ""} {
      putserv "NOTICE $nick :Wrong !request-format."
      putserv "NOTICE $nick :To request use: 4!request <bot-nick> #channel"
if {[string first $requestbot $botnicks] != -1} {
 if {[string equal -nocase $channel $request::homechan]} {
  if {!$request::busy} {
   set chan [lindex [split $arguments] 0]
   if {$chan != "" && ![validchan $chan]} {
    if {[string index $chan 0] == "#"} {
     set request::busy 1


Sad no reponse , help me please
Back to top
View user's profile Send private message
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Thu Feb 02, 2006 1:19 pm    Post subject: Reply with quote

Code:
set botnicks "bot bot2 bot3"





Code:
bind PUB  -|-  !request [namespace current]::request
}

proc request::request {nickname hostname handle channel arguments} {
 if {[string equal -nocase $channel $request::homechan]} {
  if {[string equal -nocase $botnicks $request::homechan]} {
  if {!$request::busy} {
   set chan [lindex [split $arguments] 0]
   if {$chan != "" && ![validchan $chan]} {
    if {[string index $chan 0] == "#"} {



... alway no good ... I try but i can't.

!request bot #chan

no reponse
no error dcc
Back to top
View user's profile Send private message
De Kus
Revered One


Joined: 15 Dec 2002
Posts: 1361
Location: Germany

PostPosted: Thu Feb 02, 2006 4:19 pm    Post subject: Reply with quote

check your var names in the if expressions. You are comparing $channel and $botnicks with $request::homechan which will hardly be both true.
_________________
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...
Back to top
View user's profile Send private message MSN Messenger
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Thu Feb 02, 2006 8:01 pm    Post subject: Reply with quote

ok, thx but what must I make... i am lost Sad that would be sympathetic to help me.
Back to top
View user's profile Send private message
pilouuu
Halfop


Joined: 26 Dec 2005
Posts: 82

PostPosted: Fri Feb 03, 2006 9:33 pm    Post subject: Reply with quote

help me!!!! Sad
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