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.

Help on request bot must check the flags +amo

Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
Post Reply
w
whiteshark
Halfop
Posts: 62
Joined: Sun Jun 12, 2005 3:23 am
Location: netherlands
Contact:

Help on request bot must check the flags +amo

Post by whiteshark »

this script works fine but needs a modification.When somebody typ !request #test the bot goes to the chan when everything its oke. And the bot must have the flags +amo when the bot not have the flags he part the chan and say "sorry this chan is not permitted for me" and left the chan .
sorry for the bad Language.
thnx greet amstelbier
the bot must in ten minutes the flags +amo when the bot not get the flags he part the channel and say it to the channel why he leave.
sorry for mistake before metroid. when i said idle but i mean request .
i hope also you can help me

Code: Select all

# 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 "#eggdropbots" 
  # Ammount of people we require. 
  variable needed   "25" 
  # 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  -|-  !idle  [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 
 
Last edited by whiteshark on Sat Jan 06, 2007 10:54 am, edited 2 times in total.
m
metroid
Owner
Posts: 771
Joined: Wed Jun 16, 2004 2:46 am

Post by metroid »

I wouldn't support anyone using my (even if old) scripts for 'idling' terms.

I would also ask that no others do the same :)
w
whiteshark
Halfop
Posts: 62
Joined: Sun Jun 12, 2005 3:23 am
Location: netherlands
Contact:

bot must have the flags +amo in ten minutes

Post by whiteshark »

sorry for mistake before metroid. when i said idle but i mean request .
i hope also you can help me.

the bot must in ten minutes the flags +amo when the bot not get the flags he leave the channel and say it to the channel why he leave.
thats only what i ask .he must the flags +amo for good work protections ect.
w
whiteshark
Halfop
Posts: 62
Joined: Sun Jun 12, 2005 3:23 am
Location: netherlands
Contact:

Post by whiteshark »

bot must check the flags +amo in ten minutes ,no flags is leave the chan. and say it to the chan .thats all .
Metroid?????? will you help me or a you angry :lol:
Post Reply