<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/13541" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2007-11-08T17:00:35-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/13541</id>

		<entry>
		<author><name><![CDATA[Wuff]]></name></author>
		<updated>2007-11-08T17:00:35-04:00</updated>

		<published>2007-11-08T17:00:35-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=77534#p77534</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=77534#p77534"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=77534#p77534"><![CDATA[
This script is just what I've been looking for. I've tested it and I works like a charm. Really great script!<br><br>I have some requests, for some extra features though. But I'm afraid I havent got the required knowhow to program it myself.<br><br>I would love if the script could quarantine a request, if it fails. For example, if a user requests the bot, and the requirements for the channel aren't met, the bot can't be requested for that particular channel for another 15 minutes.<br><br>I'm allso looking for another variation of the modification for a botnet. I would like to have a hub bot, that handles all the requests, and joins the requested channels to verify their validity. Then if the channel meets the requirements, the hub bot will send a request to all the leaf bots to join the channel. One leafbot, that hasn't reached it's channel limit, will then join the channel, and the hub bot will leave again, ready to take another request.<br><br>So the hub bot acts as a request handler, and as a scout, requesting an availible hub bot to join valid channels.<br><br>I really hope someone can help me, at least with some of it, or point me to something similar I can modify or use <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><br><br>Thanks<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9361">Wuff</a> — Thu Nov 08, 2007 5:00 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-02T12:43:38-04:00</updated>

		<published>2007-06-02T12:43:38-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73219#p73219</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73219#p73219"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73219#p73219"><![CDATA[
Ok, try this:<br><br>The syntax will be: !request &lt;botnick&gt; &lt;#channel&gt;<br><div class="codebox"><p>Code: </p><pre><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" # Set here all the requestable bots (making sure they are online!) variable botlist "[list bot1 bot2 bot3 etc]"  # 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 bot [lindex [split $arguments] 0]   set chan [lindex [split $arguments] 1]   if {$bot == ""} {     putserv "NOTICE $nickname :Syntax for request is as follows: $::lastbind &lt;botnick&gt; &lt;#channel&gt;."     return   }   if {[lsearch -exact $request::botlist $bot] == -1} {     putserv "NOTICE $nickname :User '$bot' is not in my botlist for request."     putserv "NOTICE $nickname :These bot's are requestable: [join $request::botlist ", "]"     return   }   if {$chan != "" &amp;&amp; ![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 $bot"   } 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]::whoif {$request::busy} { if {![info exists ::info]} { return 0 } set nickname [lindex [split $::info] 0] set channel [lindex [split $::info] 1] set bot [lindex [split $::info] 2] 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] &amp;&amp; ![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]] &lt; $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. $bot will join $channel."  putquick "PRIVMSG $request::home :Request from $nickname for $channel was accepted. The channel has [llength [chanlist $channel]] users."  putquick "PRIVMSG $bot :rjoin $channel $nickname *![getchanhost $nickname]" }} proc request::timeout {chan} { if {[validchan $chan] &amp;&amp; ![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</code></pre></div>And put this script on your requestable bot(s):<br><div class="codebox"><p>Code: </p><pre><code>bind msg H| rjoin request:dojoinproc request:dojoin {nickname hostname handle text} { set channel [lindex [split $text] 0] set nick [lindex [split $text] 1] set host [lindex [split $text] 2] if {![validuser [nick2hand $nick]]} {   adduser $nick $host   chattr $nick |+n $channel  } else {   chattr [nick2hand $nick] |+n $channel } putserv "NOTICE $nick :Hello $nick. Im your new bot. Your added to my userlist as '[nick2hand $nick]' with the hostname '$host'. Enjoy!"}</code></pre></div>Give it a try, not tested so it may or may not work...<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Sat Jun 02, 2007 12:43 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Bento]]></name></author>
		<updated>2007-06-02T07:01:26-04:00</updated>

		<published>2007-06-02T07:01:26-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73208#p73208</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73208#p73208"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73208#p73208"><![CDATA[
Anyone?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9032">Bento</a> — Sat Jun 02, 2007 7:01 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Bento]]></name></author>
		<updated>2007-05-29T12:21:57-04:00</updated>

		<published>2007-05-29T12:21:57-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73138#p73138</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73138#p73138"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73138#p73138"><![CDATA[
3 eggdrops is fine i guess, i should be able to get that running. but then i would still need the script <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_razz.gif" width="15" height="15" alt=":P" title="Razz"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9032">Bento</a> — Tue May 29, 2007 12:21 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-05-29T12:18:27-04:00</updated>

		<published>2007-05-29T12:18:27-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73137#p73137</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73137#p73137"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73137#p73137"><![CDATA[
A better way is to have 3 eggdrops, one dedicated to the requests, and 2 dedicated for the radio script.<br><br>Or, with a few mod's you can make a !request botnick #channel of which the botnick selected would carry out the request.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Tue May 29, 2007 12:18 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Bento]]></name></author>
		<updated>2007-05-29T10:42:40-04:00</updated>

		<published>2007-05-29T10:42:40-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73136#p73136</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73136#p73136"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73136#p73136"><![CDATA[
Okay this is a good start. What i'm trying to do here:<br><br>Ive got 2 eggdrops.<br>I want 1 eggdrop to check the requirements and if they are met, the bot stays in the channel. If the 1st eggdrop (the one which checks requirements) is in 19 channels (20 is the max on Quakenet) the 1st eggdrop should check the requirements in the channel, then part the channel and say to the 2nd eggdrop to join the channel he just checked.<br><br>Pls reply if u dont understand what i mean.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9032">Bento</a> — Tue May 29, 2007 10:42 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Bento]]></name></author>
		<updated>2007-05-29T10:39:18-04:00</updated>

		<published>2007-05-29T10:39:18-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73135#p73135</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73135#p73135"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73135#p73135"><![CDATA[
Will give it a shot, tnx!<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9032">Bento</a> — Tue May 29, 2007 10:39 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-05-29T10:16:11-04:00</updated>

		<published>2007-05-29T10:16:11-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73134#p73134</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73134#p73134"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73134#p73134"><![CDATA[
Try metroid's great basic request script:<br><div class="codebox"><p>Code: </p><pre><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 != "" &amp;&amp; ![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]::whoif {$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] &amp;&amp; ![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]] &lt; $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] &amp;&amp; ![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 </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Tue May 29, 2007 10:16 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Bento]]></name></author>
		<updated>2007-05-29T09:39:59-04:00</updated>

		<published>2007-05-29T09:39:59-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73132#p73132</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73132#p73132"/>
		<title type="html"><![CDATA[Users can request the bot for their channel]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73132#p73132"><![CDATA[
I'm running an online radio station and would like to have a script for my bot so the people in my channel can type !request #channel and the bot checks how many users there are in the channel. if L or Q is in it and if that all meets the requirements the bot will join that channel.<br><br>The bot needs to check if:<br>- There are more than 20 users in the channel <br>- L or Q is in the channel (Quakenet)<br>- The requester is op in the requested channel.<br><br>Any takers? Would love to see this being made!<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=9032">Bento</a> — Tue May 29, 2007 9:39 am</p><hr />
]]></content>
	</entry>
	</feed>
