| View previous topic :: View next topic |
| Author |
Message |
whiteshark Halfop
Joined: 12 Jun 2005 Posts: 62 Location: netherlands
|
Posted: Thu May 11, 2006 2:55 pm Post subject: help with request script |
|
|
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 |
|
 |
Sir_Fz Revered One

Joined: 27 Apr 2003 Posts: 3793 Location: Lebanon
|
Posted: Thu May 11, 2006 4:27 pm Post subject: Re: help with request script |
|
|
| 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 |
|
 |
R-WaT Halfop
Joined: 06 Jan 2006 Posts: 79
|
Posted: Thu May 11, 2006 4:38 pm Post subject: |
|
|
<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 |
|
 |
whiteshark Halfop
Joined: 12 Jun 2005 Posts: 62 Location: netherlands
|
Posted: Thu May 11, 2006 4:40 pm Post subject: |
|
|
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 |
|
 |
|
|
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
|
|