<?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/10332" />

	<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>2005-08-20T04:38:13-04:00</updated>

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

		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-08-20T04:38:13-04:00</updated>

		<published>2005-08-20T04:38:13-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54543#p54543</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54543#p54543"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54543#p54543"><![CDATA[
<blockquote class="uncited"><div>Will a text editor like EditPlus (for windows) work like pico so it doesn't cause the code to move to multiple lines?</div></blockquote>simply put each [timer] statement with its arguments on a new line, it doesn't matter what editor/operating system you use<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Sat Aug 20, 2005 4:38 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T04:30:19-04:00</updated>

		<published>2005-08-20T04:30:19-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54542#p54542</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54542#p54542"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54542#p54542"><![CDATA[
Will a text editor like EditPlus (for windows) work like pico so it doesn't cause the code to move to multiple lines?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 4:30 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-08-20T04:06:08-04:00</updated>

		<published>2005-08-20T04:06:08-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54541#p54541</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54541#p54541"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54541#p54541"><![CDATA[
<blockquote class="uncited"><div>There is no coding or logic error as far as I can see, but a wrapping error maybe. If you use different editors, pico, vi or some others in Windows.<br><br>Yes you can do that just use a good text editor in UNIX format. Try and remove all the ";" semi-colons which join up most peices of code into long lines and after removing the semi-colon b/w each line, press ENTER and place that next piece of code in a new line.</div></blockquote>the benefits of having nice code formatting habits will eventually come to your attention <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_wink.gif" width="15" height="15" alt=";)" title="Wink"><br><br>you can't go wrong with breaking lines before 80-th character (the width of most consoles) and using ';' for concatenating short statements only<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Sat Aug 20, 2005 4:06 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[awyeah]]></name></author>
		<updated>2005-08-20T03:59:11-04:00</updated>

		<published>2005-08-20T03:59:11-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54540#p54540</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54540#p54540"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54540#p54540"><![CDATA[
There is no coding or logic error as far as I can see, but a wrapping error maybe. If you use different editors, pico, vi or some others in Windows. When using pico, always try to use:<br><blockquote class="uncited"><div>pico -w &lt;filename&gt;<br><br>instead of<br><br>pico &lt;filename&gt;</div></blockquote>Yes you can do that just use a good text editor in UNIX format. Try and remove all the ";" semi-colons which join up most peices of code into long lines and after removing the semi-colon b/w each line, press ENTER and place that next piece of code in a new line.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=4875">awyeah</a> — Sat Aug 20, 2005 3:59 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T03:50:53-04:00</updated>

		<published>2005-08-20T03:50:53-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54538#p54538</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54538#p54538"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54538#p54538"><![CDATA[
From what demond said, I don't think it's a problem with your code, awyeah.  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"> <br><br>I think it's the one-line / word-wrap thing.<br><br>/me gets working on making everything one line<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 3:50 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[awyeah]]></name></author>
		<updated>2005-08-20T03:48:42-04:00</updated>

		<published>2005-08-20T03:48:42-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54537#p54537</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54537#p54537"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54537#p54537"><![CDATA[
Never encountered that problem before, nor got any email regarding that type of bug. Try using punishment option #3 instead of option #2.<br><br>/me sees most of the obsolete code and grunts to himself.<br>* Have to fix alot if idiotic things I put in it.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=4875">awyeah</a> — Sat Aug 20, 2005 3:48 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T03:40:50-04:00</updated>

		<published>2005-08-20T03:40:50-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54536#p54536</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54536#p54536"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54536#p54536"><![CDATA[
Is there a quick fix for this, or do I have to go through and make sure everything is on one line?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 3:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-08-20T03:39:14-04:00</updated>

		<published>2005-08-20T03:39:14-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54534#p54534</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54534#p54534"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54534#p54534"><![CDATA[
wrap-around problem, those ultra long source lines ((tm) awyeah) with the [timer] command are cut by line breaks, which is a syntax error<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Sat Aug 20, 2005 3:39 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T03:20:36-04:00</updated>

		<published>2005-08-20T03:20:36-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54532#p54532</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54532#p54532"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54532#p54532"><![CDATA[
Okay, it's banning now but it's not removing that ban.<br><br>I get this error:<br><div class="codebox"><p>Code: </p><pre><code>[03:17] Tcl error [pub:advertise]: wrong # args: should be "timer minutes command"</code></pre></div>Hmm?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 3:20 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T02:20:43-04:00</updated>

		<published>2005-08-20T02:20:43-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54526#p54526</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54526#p54526"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54526#p54526"><![CDATA[
hah, that line was commented out *oops*!<br><br>Sorry for the post, I should have saw that  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_redface.gif" width="15" height="15" alt=":oops:" title="Embarassed"><br><br>PS: Will do.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 2:20 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alchera]]></name></author>
		<updated>2005-08-20T02:18:52-04:00</updated>

		<published>2005-08-20T02:18:52-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54525#p54525</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54525#p54525"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54525#p54525"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>#Set the amount of time in minutes to ban the user for. (in mins) #(By default if you don't set a value the script will assume it to be 60 minutes) set advertisebantime "2"</code></pre></div>If you have not set a value here then that is the possible cause of the error.<br><br>PS: Next time post in Script Support &amp; Releases<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3646">Alchera</a> — Sat Aug 20, 2005 2:18 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T01:56:24-04:00</updated>

		<published>2005-08-20T01:56:24-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54523#p54523</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54523#p54523"/>
		<title type="html"><![CDATA[yes]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54523#p54523"><![CDATA[
Yes, I configured the script to work on the channel "#test-a"<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 1:56 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[qwek]]></name></author>
		<updated>2005-08-20T01:54:39-04:00</updated>

		<published>2005-08-20T01:54:39-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54522#p54522</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54522#p54522"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54522#p54522"><![CDATA[
did you already changed the channel name?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5465">qwek</a> — Sat Aug 20, 2005 1:54 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[dossi]]></name></author>
		<updated>2005-08-20T01:04:12-04:00</updated>

		<published>2005-08-20T01:04:12-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=54519#p54519</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=54519#p54519"/>
		<title type="html"><![CDATA[problem with advertisekick.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=54519#p54519"><![CDATA[
I'm having a problem with awyeah's advertisekick.tcl script<br><br>When someone advertises their channel, it kicks them but does not ban them. Here is the error I get in the partyline: <br><div class="codebox"><p>Code: </p><pre><code>[00:56] Tcl error [pub:advertise]: wrong # args: should be "timer minutes command"</code></pre></div>Here is the script:<br><div class="codebox"><p>Code: </p><pre><code>## $Id: advertisekick.tcl, eggdrop-1.6.x 2004/5 awyeah@usa.net Exp $# Begin - Channel Advertise/Spam Kicker Script v3.92.b (advertisekick.tcl)#Script Version: v3.92.b#Built Date: March 2004, Last Updated: 4th July 2004#Copyright © 1999-2004 awyeah (awyeah@usa.net)#TCL script was designed to work with eggdrop v1.5.x or higher##########################################################################          Channel Advertise/Spam Kicker Script v3.92.b             ##                        # #                          ## Author: awyeah                4th July 2004 ## Email: awyeah@usa.net         Build version 3.92.b ## Copyright © 2004 awyeah All Rights Reserved http://www.awyeah.org/ ############################################################################# #################                  ## PURPOSE OF SCRIPT                        ## ###################        ## This script serves the purpose of eliminating advertisers, spammers## and inviters who join channels and advertise their channels or ## websites on the main channel window, with or without a flood.##                        ## This script is quite efficient and can detect almost any kind of      ## spam, invite, or advertise sent into a chanenl. The main is for this## effectiveness are the wordlist matching wildcards I have added.#### This script can be run on almost any network on IRC because it does ## not utilize/invovle any network services.############################################################################### #####################      ## DESCRIPTION OF SCRIPT                  ## #######################                              ## This script will make your eggdrop bot detect any spam, invite words## sent into the channel. It will *not* simply detect single characters## or words (such as #), which can cause chaos.##                        ## After the eggdrop bot has matched the wildcards in a channel text,## action or notice which seems relevant to an advertise or spam message## it, verifying this it will punish that user depending upon the## punishment level select by the bot owner.## ## This is a very effective script to eliminate spammers and advertisers## which join channels and spam their channels or websites.##                        ###########################################################################                        ## ###############      ## SCRIPT FEATURES                  ## #################                        ## 1. This script will not ban on detecting any single characters/words##    in a text or action of a user. Supponsingly:####   It *WILL NOT* not ban for texts similar to this:####   - My cell phone # is 0800-856345 (for the # character)##   - Will you join me tommorow for a game of badminton? (for *join*)##   - Please do come to my wedding! (for *come to*)##   - My aunt is going to visit us tommorow!! (for *to visit*)##   - You can go to their counter and signup for..... (for *go to*)####   It *WILL* ban for texts similar to this:####   - #mychannel #mychannel #mychannel #mychannel #mychannel##   - #mychannel#mychannel#mychannel#mychannel#mychannel#mychannel##   - Please join #mychannel, /j #mychannel,##   - visit #mychannel, visit http://* (same for *come to* and *goto*)##   - click here #mychannel, check out www.*#### 2. This script will also not ban people in a channel, if they say ##    the channel's name. (For example: If someone on the channel ##    #funchat, says a text which includes the word #funchat, this##    script will ignore the user and exempt him). Some scripts which ##    I have seen would punish the user for saying the channel's name, ##    which is quite annoying.#### 3. This script has *2* settings of channels to work on.##    [1] It can be activated to work on user defined channels.##    [2] It can be activated to work on all the channels the bot is on.#### 4. This script has switches to choose either to exempt channel ops,##    voices and users with certain flags. It also has an effective##    exemption system such as exemption of specific nicks, idents,##    hosts, user@host's. It can also exempt all non-dynamic idents.#### 5. This script will detect TEXT, ACTION as well as channel NOTICES. ##    Each of the *3* detection systems can be individually choosen to ##    be enabled or disabled with the channel-interface type selector.## ## 6. This script also has an option to either use the scripts default##    kick message when punishing the user, or either defining your own ##    kick message and using that.      #### 7. This script also has a kick counter logger. It will keep a record ##    of how many people are kicked with the script. The number of users##    kicked will be shown in the end of each kick message.#### 8. Also availiable are 20 types of bans which can be selected by bot ##    owners with varying wilcards. These banmasks enforce a greater ##    range of customizable bans for banning advertisers and spammers. #############################################################################                        ## ###################      ## SCRIPT INSTALLATION                  ## #####################                        ## [1] Please unzip the advertisekick.zip zipped file &amp; place the ##     advertisekick.tcl file in your eggdrops */scripts* folder along ##     with your other tcl scripts.##                        ## [2] Please add a link at the bottom of your eggdrop's .CONF file to   ##     the path of the advertisekick.tcl, it would be something like:    ##                        ##            source scripts/advertisekick.tcl##                        ##                        ## [3] Save your bot's configuration file##                        ## [4] *RESTART* your eggdrop bot and start kicking advertiser ass!##                        ###########################################################################                        ## ############      ## CONTACT INFO                  ## ##############                        ## - If you have any suggestions, comments, questions or if you want to  ##   report bugs, please feel free to email me at: awyeah@usa.net##                  ## - You can contact me on MSN Messenger on my ID: awyeah@awyeah.org##                        ## - You can also catch me on IRC (The DALnet Network)            ##                        ##         /server irc.dal.net:6667, Nick: awyeah      ##                  ###########################################################################                  ## ###############      ## SCRIPT VERSIONS                  ## ###################  v3.92.b  - Added a channel interface switch. This switch will give## (04/07/04)  an option to choose which type of channel interface to##  select from such as CHANNEL TEXT, ACTION, NOTICE orALL.##           - Fixed a missing line punishment line in the options where ##  the scripts random kick message is displayed.##           - Added choices to exempt channel operators, voices and##  bot user flags from advertisement detection.##      - Added switches for other exemption options so it is easy##  to switch ON the ones people will use, if not all.##- Added an option to choose to only detect users with ##             dynamic idents. (idents which have a "~" sign in front)##- There were 2 matching ban types on the banmask selector,##  removed the duplicate one and added a new banmask type.##           - Added a unban timer to check if the ban is set on the##             channel before removing it, otherwise the bot uselessly##        unbans some bans which aren't set on the channel even.##- Added an option to either select the scripts default kick ##  message when punishing the user or defining your own ##  customizable kick message.##      - Removed unwanted procedures, the total 6 procedureshave ##             been reduced to *1* single procedure, which makes the ##             script more cpu and ram friendly.##- Added some more matching words in the advertise detection ##  wordlist.##- Modified all of the procedures, settings and timers to##  give a more faster and efficient performance.####  v2.85.b  - Fixed the kick counter initial file creation bug, so the## (14/06/04)  kick counter file will be always checked before kicking.##      - Added support for channel NOTICES as well, so script ##             will react on any notices sent in channels.##- Added 20 different types of banmasks to select from ##  while banning the spammer.##- Added a choice to select the default script kick message##  or use your own customizable kick message.####  v1.28.b  - Initial release of script.## (30/05/04)####                  ##  Latest released updated verions of this script can be found onthe ##  tcl archives of the following websites:##                  ##        http://www.egghelp.org/  -  http://www.tclscript.com/##                  ###########################################################################                  ## #######      ## CREDITS                  ## #############  - Thanks to my friends who came up with the idea of this script,##    because without them this wouldn't have been possible.####  - A very special thanks all my friends who did the beta testing for ##    this script and helped me to fix the bugs and errors found.####  - Thanks to ppslim for providing the control code removing filter.######   Really great work people!###### ./awyeah##                  ############################################################################################################################### Start editing variables from here onwards! ######################################################----------------------------------------##    SETUP CHANNEL ACTIVATION OPTIONS    ##----------------------------------------##Set the type of channels you would like this script to work on.#USAGE: [1/2] (1=USER DEFINED CHANNELS, 2=ALL CHANNELS) (You can only enable ONE setting!)#Use '1' for 'user defined channels' (Will detect/punish the user only in the channels defined for the script)#Use '2' for 'all the channels' the bot is on. (Will detect/punish the user on any channel where he/she advertised)set advertisetype "1"#Set this if you have set the previous setting to '1' for user defined channels, if not then please#leave this as it is or leave this as empty/blank. (Set the channels on which this script would work)#USAGE: set advertisechans "#channel1 #channel2 #channel3 #mychannel #yourchannel"set advertisechans "#test-a"#---------------------------------------##    SETUP CHANNEL INTERFACE OPTIONS    ##---------------------------------------##Set the type of channel interface to enable. (MESSAGE, ACTION, NOTICE)#USAGE: [1/2/3/4] (1=CHANNEL TEXTS, 2=CHANNEL ACTIONS, 3=CHANNEL NOTICES, 4=ALL)#Use '1' for detecting advertisments from CHANNEL TEXTS. (Will only detect channel texts: /msg #channel)#Use '2' for detecting advertisments from CHANNEL ACTIONS. (Will only detect channel actions: /me #channel)#Use '3' for detecting advertisments from CHANNEL NOTICES. (Will only detect channel notices: /notice #channel)#Use '4' for detecting advertisements from CHANNEL TEXTS, ACTIONS and NOTICES (ALL). (Will detect all channel texts, actions and notices)set advertiseactivate "4"#----------------------------------------------##    SETUP ADVERTISEMENT DETECTION WORDLIST    ##----------------------------------------------##Set the *advertise words* for the script to react on. (wildcards such as "*" are accepted)#Already have pre-added all kinds of combinations, normally you would'nt need to edit these. #People only edit would need to edit if their language or channel not english.set advertisewords {"#*#*""*#*#*""#*#*#*""*#*#*#*""#* #*""*#* #*""#* #* #*""*#* #* #*""#* *#*""*#* *#*""#* *#* *#*""*#* *#* *#*""#* * #*""#* * *#*""*#* * #*""*#* * *#*""#* * #* * #*""#* * *#* *#*""*#* * #* * #*""*#* * *#* *#*""*/join #*""*join #*""*join* #*""*/join""*/join*""*/j0in #*""*j0in #*""*/j0in""*/j0in*""*/j #*""*/j* #*""*/j* * #*""*join#*""*join*#*""*j0|n#*""*j0|n*#*""*j0in#*""*j0in*#*""*jo|n#*""*jo|n*#*""*join to * * #*""*join to your #*""*join to your * #*""@hix*""*prank calls*""*prank call*""*recruiting #*""*contest #*""*in #*""#* OMG""#* growing*""#*"}#------------------------------------##    SETUP USER PUNISHMENT METHOD    ##------------------------------------##Set the type of punishment to declare for the user.#USAGE: [1/2/3/4] (1=KICK, 2=KICK/BAN, 3=STICKY KICK/BAN, 4=GLOBAL KICK/BAN)#Use '1' to 'kick' that user from the channel. (Minimal punishment)#Use '2' to 'kick and ban' that user from the channel. (Moderate punishment)#Use '3' to 'kick ban' that user using a sticky ban from the bots ban list. (Extreme punishment)#Use '4' to 'kick ban' that user from all channels the user is found on matching with the bot. (Maximum punishment)set advertisepunish "2"#-------------------------##    SETUP BAN OPTIONS    ##-------------------------##Select the type of banmask to use when banning the advertiser.# 1 - *!*@some.host.com# 2 - *!*@*.host.com# 3 - *!*ident@some.domain.com# 4 - *!*ident@*.host.com# 5 - *!*ident*@*.host.com# 6 - *!*ident*@some.host.com# 7 - nick*!*@*.host.com# 8 - *nick*!*@*.host.com# 9 - nick*!*@some.host.com# 10 - *nick*!*@some.host.com# 11 - nick!ident@some.host.com# 12 - nick!ident@*.host.com# 13 - *nick*!*ident@some.host.com# 14 - nick*!*ident*@some.host.com# 15 - *nick*!*ident*@some.host.com# 16 - nick!*ident*@some.host.com# 17 - nick*!*ident@*.host.com# 18 - nick*!*ident*@*.host.com# 19 - *nick*!*ident@*.host.com# 20 - *nick*!*ident*@*.host.comset advbanmask "1"#Set the amount of time in minutes to ban the user for. (in mins)#(By default if you don't set a value the script will assume it to be 60 minutes)set advertisebantime "2"#-------------------------------##    SETUP KICK MESSAGE TYPE    ##-------------------------------##Set this if you would like to use your own KICK message for kicking the advertiser.#If you set this OFF then the scripts default kick message will be used.#USAGE: [0/1] (O=OFF, 1=ON)set advkickswitch "1"#Set this if to your customizable KICK message if you have enabled to use your own custom KICK message.#By Default this is set to the scripts default kick message. (You will need to change this)set advkickmsg "Bad word detected. (2 minute ban)"#-----------------------------------##    SETUP USER EXEMPTION OPTIONS   ##-----------------------------------#### IMPORTANT NOTE ####For all of the exemption settings below please *DO NOT* use wildcards#such as: (*, !, *!*, *@*, *!*@*, @*.host.com, *@127.0.0.* etc as they maybe risky)#(If you do not have any ident, userhost, or ip to enter then please leave the field "")#### EXEMPT CHANNEL OPERATORS #####Set this if you want the bot to exempt all channel operators - ops (@'s) even though if the#bot has detected an advertise matching word from them. (This is a useful setting for not punishing ops)#USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT EXEMPT OPS, 1=WILL EXEMPT OPS)#If set to '0' channel ops will be punished if the bot detects an advertise word from them#If set to '1' channel ops will be exempted even if the bot detects an advertise word from themset advexopswitch "1"#### EXEMPT CHANNEL VOICES #####Set this if you want the bot to exempt all channel voices (+v's) even though if the bot has #detected an advertise matching word from them. (This is a useful setting for not punishing voices)#USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT EXEMPT VOICES, 1=WILL EXEMPT VOICES)#If set to '0' channel voices will be punished if the bot detects an advertise word from them#If set to '1' channel voices will be exempted even if the bot detects an advertise word from themset advexvoiceswitch "1"#### EXEMPT SPECIFIC USER FLAGS #####Set this if you want the bot to exempt user flags on the bots user list. Users with certain specific or all #flags would be exempted by the bot and will not be punished, even if the bot detects an advertise word from them.#USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT EXEMPT USERFLAGS, 1=WILL EXEMPT USERFLAGS)#If set to '0' users/owners on the bots userlist will be punished if the bot detects an advertise word from them#If set to '1' users/owners on the bots userlist will be exempted even if the bot detects an advertise word from themset advexflagswitch "1"#If you have enabled to exempt userflags on the bots userlist and not to punish them, set the 'user flags' #for bot owners, masters, ops, voices, users etc which will be exempted from this script.#(Try not to leave this field empty, atleast fill it with "n" to exempt the bot owner if possible)#Example: n=owner, m=master, o=op, v=voice, f=friend, b=bot etc#USAGE: m, n, o, v, f or "mnf", "bfv" etcset advexflags "mnof|mnof"#### EXEMPT SPECIFIC NICKS #####Set this if you want to enable 'exemption of specific nicks' from this script. (Users with such nicks will be #ignored by the script even if they are found to be advertising)#USAGE: [0/1] (0=OFF, 1=ON)set advnickswitch "0"#Set this if you have selected/enabled to 'exempt certain nicks' (if you have set the previous setting to '1'). #Set this to the list of 'exempted nicks', which you would like the bot to ignore and wouldn't want to check that #user for advertisement words. (If you do not have any 'nick' to exempt then, please leave this as "")#USAGE: "nick1, bot3, user5, robot7"set advexnicks ""#### EXEMPT SPECIFIC IDENTS #####Set this if you want to enable 'exemption of specific idents' from this script. (Users with such idents will be #ignored by the script even if they are found to be advertising)#USAGE: [0/1] (0=OFF, 1=ON)set advidentswitch "0"#Set this if you have selected/enabled to 'exempt certain idents' (if you have set the previous setting to '1').#Set this to the list of exempted 'user idents' which you would like the bot to ignore when checking users for #advertisement words. (If you do not have any 'user ident' to exempt then, please leave this as "")#(Whois example: awyeah is cooldude@loves.you.com ===&gt; cooldude)#USAGE: "cooldude, myident, user, script, sweet"set advexidents "a-user-ident"#### EXEMPT SPECIFIC HOSTS #####Set this if you want to enable 'exemption of your hosts' from this script. (Users with such hosts will be ignored#by the script even if they are found to be advertising)#USAGE: [0/1] (0=OFF, 1=ON)set advhostswitch "0"#Set this if you have selected/enabled to 'exempt certain hosts' (if you have set the previous setting to '1').#Set this to the list of 'exempted domains' (user ip addresses) which you would like the bot to ignore #when checking for advertisement words. (If you do not have any 'ip addresses' to exempt then, please leave this as "")#(Whois example: awyeah is cooldude@adsl-154-462.cable.myisp.com ===&gt; cable.myisp.com)#USAGE: "cable.myisp.com, name.myuniversity.edu, mindspring.com, cpe.net.cable.rogers.com"set advexhosts "an-isp-name"#### EXEMPT SPECIFIC USER HOSTS #####Set this if you want to enable 'exemption certain user@hosts' from this script. (Users with such user@host's will be#ignored by the script even if they are found to be advertising)#USAGE: [0/1] (0=OFF, 1=ON)set advuserhostswitch "0"#Set this if you have selected/enabled to 'exempt certain hosts' (if you have set the previous setting to '1').#Set this to the list of 'user hosts' (user@host) which you would like the bot to ignore when checking for #advertisement words. (If you do not have any 'user@host' to exempt then, please leave this as "")#USAGE: "rules@127.0.0.1, i@am.eleet.com, yeah@baby.yeah.net"set advexuserhosts "i@love.you.com"#### EXEMPT NON-DYNAMIC IDENTS ####### NOTE: I recommend you keep this setting *OFF*. (Meaning keep this setting to '0') ####Set this to ignore users without dynamic idents (idents without ~). Users without a "~" sign infront of their #ident will be exempted and ignore by the bot if this setting is enabled and will not be detected for advertisement words.#USAGE: [0/1] (0=OFF, 1=ON) - (0=DO NOT EXEMPT ANY IDENT, 1=EXEMPT ONLY NON-DYNAMIC IDENTS)#If set to '0' the script will not ignore any ident and will work as a regular script.#If set to '1' the script will ignore normal idents (idents without "~" ) and will only detect adverisement #words from dynamic idents (idents which have a "~" sign in the beginning of their ident)#(When enabled: awyeah is awesome@guy.com ===&gt; awesome ==&gt; Will make the user exempted)#(When enabled: awyeah is ~awesome@guy.com ===&gt; ~awesome ===&gt; Will *NOT* make the user exempted)set advdynamicident "0"#---------------------------##    SETUP KICK COUNTER     ##---------------------------##Set the filename in which you want the user kick record numbers to be stored in. This file would be #created in your main *eggdrop* dir, where your bot's .CONF, .CHAN, and .USER files are stored. #(You can leave this as it is, if you want)set advertisekicks "advertisekicks.dat" ################################################################################## Don't edit anything else from this point onwards, even if you know tcl! ##################################################################################bind pubm - * pub:advertisebind ctcp - ACTION act:advertisebind notc - * notc:advertisebind kick - * advertise:kick:counterproc pub:advertise {nick uhost hand chan text} { global botnick advertisetype advertisechans  if {($nick != $botnick) &amp;&amp; ($chan != $botnick)} {; set type "TEXT"   if {($advertisetype == 1) &amp;&amp; ($advertisechans != "") &amp;&amp; ([string match "#*" $advertisechans])} { pub:specific:chans $nick $uhost $hand $chan $type $text }   if {($advertisetype == 2)} { advertise:all:chans $nick $uhost $hand $chan $type $text }   if {(($advertisetype != 1) &amp;&amp; ($advertisetype != 2)) || ($advertisetype == "0") || ($advertisetype == "")} { return 0 }   }}proc pub:specific:chans {nick uhost hand chan type text} { global botnick advertiseactivate advertisechans  if {($advertiseactivate == 1) || ($advertiseactivate == 4)} {  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] != -1)} { advertise:all:chans $nick $uhost $hand $chan $type $text }  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] == -1)} { return 0 }  }}proc act:advertise {nick uhost hand chan key text} { global botnick advertisetype advertisechans  if {($nick != $botnick) &amp;&amp; ($chan != $botnick)} {; set type "ACTION"   if {($advertisetype == 1) &amp;&amp; ($advertisechans != "") &amp;&amp; ([string match "#*" $advertisechans])} { act:specific:chans $nick $uhost $hand $chan $type $text }   if {($advertisetype == 2)} { advertise:all:chans $nick $uhost $hand $chan $type $text }   if {(($advertisetype != 1) &amp;&amp; ($advertisetype != 2)) || ($advertisetype == "0") || ($advertisetype == "")} { return 0 }   }}proc act:specific:chans {nick uhost hand chan type text} { global botnick advertiseactivate advertisechans  if {($advertiseactivate == 2) || ($advertiseactivate == 4)} {  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] != -1)} { advertise:all:chans $nick $uhost $hand $chan $type $text }  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] == -1)} { return 0 }  }}proc notc:advertise {nick uhost hand text {chan ""}} { global botnick advertisetype advertisechans  if {($nick != $botnick) &amp;&amp; ($chan != $botnick) &amp;&amp; (![string equal $nick "ChanServ"])} {; set type "NOTICE"   if {($advertisetype == 1) &amp;&amp; ($advertisechans != "") &amp;&amp; ([string match "#*" $advertisechans])} { notc:specific:chans $nick $uhost $hand $chan $type $text }   if {($advertisetype == 2)} { advertise:all:chans $nick $uhost $hand $chan $type $text }   if {(($advertisetype != 1) &amp;&amp; ($advertisetype != 2)) || ($advertisetype == "0") || ($advertisetype == "")} { return 0 }   }}proc notc:specific:chans {nick uhost hand chan type text} { global botnick advertiseactivate advertisechans  if {($advertiseactivate == 3) || ($advertiseactivate == 4)} {  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] != -1)} { advertise:all:chans $nick $uhost $hand $chan $type $text }  if {([lsearch -exact [split [string tolower $advertisechans]] [string tolower $chan]] == -1)} { return 0 }  }}proc advertise:all:chans {nick uhost hand chan type text} { global botnick advertisewords advexflags advkickswitch advkickmsg advdynamicident advexnicks advexidents advexhosts advexuserhosts  global advertisekicks advexopswitch advexvoiceswitch advexflagswitch advnickswitch advidentswitch advhostswitch advuserhostswitch   set text [advertise:filter $text]; set userident [lindex [split $uhost "@"] 0]; set ipaddress [lindex [split $uhost "@"] 1]  if {![file exists $advertisekicks]} { set file [open $advertisekicks "w"]; puts $file 1; close $file }  if {($advdynamicident == "1") &amp;&amp; (![string match "*~*" $userident])} { return 0 }  if {(($advnickswitch == 1) &amp;&amp; ($advexnicks != "") &amp;&amp; ([string match -nocase *$advexnicks* $nick])) || (($advidentswitch == 1) &amp;&amp; ($advexidents != "") &amp;&amp; ([string match -nocase *$advexidents* $userident])) || (($advhostswitch == 1) &amp;&amp; ($advexhosts != "") &amp;&amp; ([string match -nocase *$advexhosts* $ipaddress])) || (($advuserhostswitch == 1) &amp;&amp; ($advexuserhosts != "") &amp;&amp; ([string match -nocase *$advexuserhosts* $uhost])) } { return 0 }  if {([string match -nocase *$chan* $text])} { return 0 }  foreach advertiseword [string tolower $advertisewords] {   if {[string match -nocase *$advertiseword* $text]} {   if {(($advexopswitch == 1) &amp;&amp; ([isop $nick $chan])) || (($advexvoiceswitch == 1) &amp;&amp; ([isvoice $nick $chan])) || (($advexflagswitch == 1) &amp;&amp; ([matchattr $hand $advexflags $chan]))} { return 0 }    if {($nick != $botnick) &amp;&amp; ($chan != $botnick) &amp;&amp; ([botisop $chan]) &amp;&amp; ([validchan $chan]) &amp;&amp; (![string match -nocase *$chan* $text]) &amp;&amp; ([onchan $nick $chan])} {     set advertiseban [advertise:banmask $uhost $nick]; set advertisetype $type;     if {($advkickswitch == 1) &amp;&amp; ($advkickmsg != "")} { advertise:kick:user $nick $chan $advertiseword $advertiseban; return 0 }     if {($advkickswitch == 0)} { advertise:kick:script $nick $chan $advertiseword $advertisetype $advertiseban; return 0 }      if {(($advkickswitch != 1) &amp;&amp; ($advkickswitch != 0)) || ($advkickswitch == "")} { putlog "ADVERTISE KICK MESSAGE: No kick-message type selected."; return 0 }      }    }  }}proc advertise:kick:user {nick chan advertiseword advertiseban} { global botnick advertisepunish advertisekicks advertisebantime advkickmsg  set file [open $advertisekicks "r"]; set currentkicks [gets $file]; close $file; set totalkicks [expr $currentkicks]; set banmask $advertiseban  if {($advkickmsg == "")} { set advkickmsg "0,1 Channel Advertise Kick 12,0 - 2Advertise/Invite 12word 6\"$advertiseword\" 12detected. Mass 2Advertising/Inviting/Spamming 12in 12is not tolerated on this 2channel. 12Failing to 2comply 12with 2these rules 12will result into a 2permanent ban." }  if {($advertisebantime == 0) || ($advertisebantime == "") || ($advertisebantime &lt; 1)} { set advertisebantime 60 }  if {($advertisepunish == 1)} { putquick "KICK $chan $nick :$advkickmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish == 2)} { putquick "MODE $chan +b $banmask"; putquick "KICK $chan $nick :$advkickmsg2 - (Kick #$totalkicks)"; timer $advertisebantime [list advertise:unban $banmask $chan] }  if {($advertisepunish == 3)} { newchanban $chan $banmask advertise $advkickmsg $advertisebantime; putquick "KICK $chan $nick :$advkickmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish == 4)} { newban $banmask advertise $advkickmsg $advertisebantime; putquick "KICK $chan $nick :$advkickmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish != 1) &amp;&amp; ($advertisepunish != 2) &amp;&amp; ($advertisepunish != 3) &amp;&amp; ($advertisepunish != 4)} { putlog "ADVERTISE PUNISHMENT: No punishment type selected."; return 0 }}proc advertise:kick:script {nick chan advertiseword advertisetype advertiseban} { global botnick advertisepunish advertisekicks advertisebantime  set file [open $advertisekicks "r"]; set currentkicks [gets $file]; close $file; set totalkicks [expr $currentkicks]; set banmask $advertiseban  set advertisemsg "2Advertise/Invite 12word 6\"$advertiseword\" 12detected. Mass 2Advertising/Inviting/Spamming 12in 12is not tolerated on this 2channel. 12Failing to 2comply 12with 2these rules 12will result into a 2permanent ban."  if {($advertisebantime == 0) || ($advertisebantime == "") || ($advertisebantime &lt; 1)} { set advertisebantime 60 }  if {($advertisetype == "TEXT")} { set advertisescriptmsg "0,1 Channel Text Advertise Kick 12,0 - $advertisemsg" }; if {($advertisetype == "ACTION")} { set advertisescriptmsg "0,1 Channel Action Advertise Kick 12,0 - $advertisemsg" }; if {($advertisetype == "NOTICE")} { set advertisescriptmsg "0,1 Channel Notice Advertise Kick 12,0 - $advertisemsg" }  if {($advertisepunish == 1)} { putquick "KICK $chan $nick :$advertisescriptmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish == 2)} { putquick "MODE $chan +b $banmask"; putquick "KICK $chan $nick :$advertisescriptmsg2 - (Kick #$totalkicks)"; timer $advertisebantime [list advertise:unban $banmask $chan] }  if {($advertisepunish == 3)} { newchanban $chan $banmask advertise $advertisescriptmsg $advertisebantime; putserv "KICK $chan $nick :$advertisescriptmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish == 4)} { newban $banmask advertise $advkickmsg $advertisebantime; putserv "KICK $chan $nick :$advkickmsg2 - (Kick #$totalkicks)" }  if {($advertisepunish != 1) &amp;&amp; ($advertisepunish != 2) &amp;&amp; ($advertisepunish != 3) &amp;&amp; ($advertisepunish != 4)} { putlog "ADVERTISE PUNISHMENT: No punishment type selected."; return 0 }}proc advertise:banmask {uhost nick} { global advbanmask   switch -- $advbanmask {    1 { set banmask "*!*@[lindex [split $uhost @] 1]" }    2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" }    3 { set banmask "*!*$uhost" }    4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" }    5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split [maskhost $uhost] "@"] 1]" }    6 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }    7 { set banmask "$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }    8 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }    9 { set banmask "$nick*!*@[lindex [split $uhost "@"] 1]" }    10 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" }    11 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }    12 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }    13 { set banmask "*$nick*!*$uhost" }    14 { set banmask "$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }    15 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }     16 { set banmask "$nick!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }     17 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }    18 { set banmask "$nick!*[lindex [split $uhost "@"] 0]*@[lindex [split [maskhost $uhost] "@"] 1]" }     19 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }    20 { set banmask "*$nick*!*[lindex [split $uhost "@"] 0]*@[lindex [split [maskhost $uhost] "@"] 1]" }     default { set banmask "*!*@[lindex [split $uhost @] 1]" }    return $banmask   }}proc advertise:unban {banmask chan} { global botnick  if {([botisop $chan])} {   if {([ischanban $banmask $chan])} {    pushmode $chan -b $banmask; return 0     }     if {(![ischanban $banmask $chan])} {      return 0      }   }}if {![file exists $advertisekicks]} { putlog "ADVERTISE KICK COUNTER: The \002advertise kick counter file\002 does not exist. Creating file \002$advertisekicks\002." set file [open $advertisekicks "w"] puts $file 1 close $file}### Thanks to NeOmAtRiX for this kick counter ###proc advertise:kick:counter {nick uhost handle chan target arg} { global botnick advertisekicks  if {[string tolower $target] == [string tolower $botnick]} { return 0 }  if {[string tolower $nick] == [string tolower $botnick]} {   if {![file exists $advertisekicks]} {    putlog "ADVERTISE KICK COUNTER: The advertise kick counter file does not exist. Creating file $advertisekicks."    set file [open $advertisekicks "w"]    puts $file 1; close $file     }    set file [open $advertisekicks "r"]    set currentkicks [gets $file]; close $file    set file [open $advertisekicks "w"]    puts $file [expr $currentkicks + 1]; close $file    }}### Thanks to ppslim for this filter ###proc advertise:filter {str} {  regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\037|\002|\026|\006|\007} $str "" str  return $str}putlog "\[LOADED\] Channel Advertise/Spam Kicker v3.92.b by \002awyeah (awyeah@usa.net)\002"if {($advertisetype == 1)} { putlog "Advertise/Spam Kicker is \002*ACTIVE*\002 on: \002$advertisechans\002" }if {($advertisetype == 2)} { putlog "Advertise/Spam Kicker IS \002*ACTIVE*\002 on: \002All channels\002" }if {(($advertiseactivate == 1) || ($advertiseactivate == 2) || ($advertiseactivate == 3) || ($advertiseactivate == 4)) &amp;&amp; (($advertisetype != 1) &amp;&amp; ($advertisetype != 2))} { putlog "Advertise/Spam Kicker is \002*NOT ACTIVE*\002 because: \002No *channel activation type* has been seletected\002" }if {(($advertisetype == 1) || ($advertisetype == 2)) &amp;&amp; (($advertiseactivate != 1) &amp;&amp; ($advertiseactivate != 2) &amp;&amp; ($advertiseactivate != 3) &amp;&amp; ($advertiseactivate != 4))} { putlog "Advertise/Spam Kicker is \002*NOT ACTIVE*\002 because: \002No *channel interface* has been seletected\002" }if {($advertisetype != 1) &amp;&amp; ($advertisetype != 2) &amp;&amp; ($advertiseactivate != 1) &amp;&amp; ($advertiseactivate != 2) &amp;&amp; ($advertiseactivate != 3) &amp;&amp; ($advertiseactivate != 4)} { putlog "Advertise/Spam Kicker is \002*NOT ACTIVE*\002 because: \002No *channel activation type* and *channel interface* has been seletected\002" }return</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5819">dossi</a> — Sat Aug 20, 2005 1:04 am</p><hr />
]]></content>
	</entry>
	</feed>
