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 

help with request script

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
whiteshark
Halfop


Joined: 12 Jun 2005
Posts: 62
Location: netherlands

PostPosted: Thu May 11, 2006 2:55 pm    Post subject: help with request script Reply with quote

Hello i have this request script found and it works great.
But i have one question.
When somebody request the bot and have the Q or L in his channel. Must the user give +amo to the bot.Do the user not give +amo flags must the bot leave the channel .
Thnx

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 "#trivia.nl"
  # 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
 
Back to top
View user's profile Send private message Visit poster's website
Sir_Fz
Revered One


Joined: 27 Apr 2003
Posts: 3793
Location: Lebanon

PostPosted: Thu May 11, 2006 4:27 pm    Post subject: Re: help with request script Reply with quote

amstelbier wrote:
Hello i have this request script found and it works great.
But i have one question.
When somebody request the bot and have the Q or L in his channel. Must the user give +amo to the bot.Do the user not give +amo flags must the bot leave the channel .
Thnx

Ok, now can you describe this in english please?
_________________
Follow me on GitHub

- Opposing

Public Tcl scripts
Back to top
View user's profile Send private message Visit poster's website
R-WaT
Halfop


Joined: 06 Jan 2006
Posts: 79

PostPosted: Thu May 11, 2006 4:38 pm    Post subject: Reply with quote

<R-WaT|Eggdrop> Request for #mouseskills failed. There are not enough users on #mouseskills (There are 8 users).


it says that in channel. is there anyway to make it PM me?

and instead of checking for Q or L can you make it check to see if it has a ChanServ?


Last edited by R-WaT on Thu May 11, 2006 4:40 pm; edited 1 time in total
Back to top
View user's profile Send private message AIM Address
whiteshark
Halfop


Joined: 12 Jun 2005
Posts: 62
Location: netherlands

PostPosted: Thu May 11, 2006 4:40 pm    Post subject: Reply with quote

sorry for my bad englisch.

as soon as request are done must the bot check if in the canal Q or L sit then must the bot the flags + amo get, when the bot not get +amo then must the bot the leave the channel.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests 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