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

	<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-09-06T22:02:01-04:00</updated>

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

		<entry>
		<author><name><![CDATA[good]]></name></author>
		<updated>2005-09-06T22:02:01-04:00</updated>

		<published>2005-09-06T22:02:01-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55383#p55383</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55383#p55383"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55383#p55383"><![CDATA[
Fixed it. Thanks.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6690">good</a> — Tue Sep 06, 2005 10:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[good]]></name></author>
		<updated>2005-09-06T21:56:14-04:00</updated>

		<published>2005-09-06T21:56:14-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55382#p55382</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55382#p55382"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55382#p55382"><![CDATA[
I know that. I just don't know where in the script to change.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6690">good</a> — Tue Sep 06, 2005 9:56 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-09-06T21:55:16-04:00</updated>

		<published>2005-09-06T21:55:16-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55381#p55381</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55381#p55381"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55381#p55381"><![CDATA[
I thought you already learned that # (hash character) in front of something means 'ignore the rest of the line'<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Tue Sep 06, 2005 9:55 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[good]]></name></author>
		<updated>2005-09-06T21:42:47-04:00</updated>

		<published>2005-09-06T21:42:47-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55380#p55380</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55380#p55380"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55380#p55380"><![CDATA[
What would be the code and where would I put it to define a channel? This is the default 1.6 config. I just edited it.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6690">good</a> — Tue Sep 06, 2005 9:42 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-09-06T21:35:21-04:00</updated>

		<published>2005-09-06T21:35:21-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55378#p55378</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55378#p55378"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55378#p55378"><![CDATA[
also, you don't have any channels defined in your config, so unless you already used <em class="text-italics">.+chan</em> partyline command to add a channel, your bot don't  actually have anything to join<br><br>BTW, don't include scripts as parts of your config; include their source file names, using the <em class="text-italics">source</em> Tcl command as shown<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Tue Sep 06, 2005 9:35 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[demond]]></name></author>
		<updated>2005-09-06T21:25:16-04:00</updated>

		<published>2005-09-06T21:25:16-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55377#p55377</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55377#p55377"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55377#p55377"><![CDATA[
read top sticky posts in this forum and in Script Help forum<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5056">demond</a> — Tue Sep 06, 2005 9:25 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[good]]></name></author>
		<updated>2005-09-06T21:17:22-04:00</updated>

		<published>2005-09-06T21:17:22-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55375#p55375</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55375#p55375"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55375#p55375"><![CDATA[
Fixed the error, but bot will not join channel. Here is my config.<br><div class="codebox"><p>Code: </p><pre><code># /eggdrop/# ^- This should contain a fully qualified path to your Eggdrop executable.## $Id: eggdrop.conf,v 1.40 2004/08/21 22:43:27 wcc Exp $## This is a sample Eggdrop configuration file which includes all possible# settings that can be used to configure your bot.## The pound signs (#) that you see at the beginning of some lines mean that# the remainder of that line is a comment, or just for your information. By# adding or deleting pound signs, you can comment or uncomment a setting,# respectively.## Arguments for a command or setting may be inclosed in &lt;&gt;'s or []'s in the# example/description. Arguments in &lt;&gt;'s are required, while [] means optional.## More detailed descriptions of all these settings can be found in# doc/settings/.##### BASIC SETTINGS ###### This setting defines the username the bot uses on IRC. This setting has# no effect if an ident daemon is running on your bot's machine.set username "HelpDesk"# This setting defines which contact person should be shown in .status,# /msg help, and other places. You really should include this information.set admin "good &lt;email: bawkgadawk@hotmail.com&gt;"# This setting is used only for info to share with others on your botnet.# Set this to the IRC network your bot is connected to.set network "irc.blessed.net"# This setting defines the timezone is your bot in. It's used for internal# routines as well as for logfile timestamping and scripting purposes.# The timezone string specifies the name of the timezone and must be three# or more alphabetic characters. For example, Central European Time(UTC+1)# should be "CET".set timezone "PST"# The offset setting specifies the time value to be added to the local# time to get Coordinated Universal Time (UTC aka GMT). The offset is# positive if the local timezone is west of the Prime Meridian and# negative if it is east. The value (in hours) must be between -23 and# 23. For example, if the timezone is UTC+1, the offset is -1.set offset "5"# If you don't want to use the timezone setting for scripting purposes only,# but instead everywhere possible, un-comment the following line.#set env(TZ) "$timezone $offset"# If you're using virtual hosting (your machine has more than 1 IP), you# may want to specify the particular IP to bind to. You can specify either# by hostname or by IP. You may also want to set the hostname here if# Eggdrop has trouble detecting it when it starts up.#set my-hostname "virtual.host.com"#set my-ip "99.99.0.0"# If you want to have your Eggdrop messages displayed in a language other# than English, change this setting to match your preference. An alternative# would be to set the environment variable EGG_LANG to that value.## Languages included with Eggdrop: Danish, English, French, Finnish, German.#addlang "english"##### LOG FILES ###### Eggdrop is capable of logging various things, from channel chatter to# commands people use on the bot and file transfers. Logfiles are normally# kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday".# After 48 hours, they will be overwritten by the logfile of the next day.## Events are logged by certain categories. This way, you can specify# exactly what kind of events you want sent to various logfiles.## Logfile flags:#   b - information about bot linking and userfile sharing#   c - commands#   d - misc debug information#   h - raw share traffic#   j - joins, parts, quits, and netsplits on the channel#   k - kicks, bans, and mode changes on the channel#   m - private msgs, notices and ctcps to the bot#   o - misc info, errors, etc (IMPORTANT STUFF)#   p - public text on the channel#   r - raw incoming server traffic#   s - server connects, disconnects, and notices#   t - raw botnet traffic#   v - raw outgoing server traffic#   w - wallops (make sure the bot sets +w in init-server)#   x - file transfers and file-area commands## Note that modes d, h, r, t, and v can fill disk quotas quickly. There are# also eight user-defined levels (1-8) which can be used by Tcl scripts.## Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p'# are logged to whatever channel they happened on. Most other events are# currently logged to every channel. You can make a logfile belong to all# channels by assigning it to channel "*".# This is the maximum number of logfiles allowed. This setting can be# increased; however, don't decrease it.set max-logs 5# This is the maximum size of your logfiles. Set it to 0 to disable.# This value is in kilobytes, so '550' would mean cycle logs when it# reaches the size of 550 kilobytes. Note that this only works if you# have keep-all-logs 0 (OFF).set max-logsize 0# This could be good if you have had problem with the logfile filling# your quota/hard disk or if you log +p and publish it to the web and# need more up-to-date info. Note that this setting might increase the# CPU usage of your bot (on the other hand it will decrease your mem usage).set quick-logs 0# This setting allows you the logging of raw incoming server traffic via# console/log flag 'r', raw outgoing server traffic via console/log mode 'v',# raw botnet traffic via console/log mode 't', and raw share traffic via# console/log mode 'h'. These flags can create a large security hole,# allowing people to see user passwords. This is now restricted to +n users# only. Please choose your owners with care.set raw-log 0# This creates a logfile named eggdrop.log containing private msgs/ctcps,# commands, errors, and misc. info from any channel.logfile mco * "logs/eggdrop.log"# This creates a logfile named lamest.log containing joins, parts,# netsplits, kicks, bans, mode changes, and public chat on the# channel #katrina-newslogfile jpk #katrina-news "logs/katrina-news.log"# Use this feature to timestamp entries in the log file.set log-time 1# If you want to keep your logfiles forever, turn this setting on. All# logfiles will get suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]".# Note that your quota/hard-disk might be filled by this, so check your# logfiles often and download them.set keep-all-logs 0# If keep-all-logs is 1, this setting will define the suffix of the logfiles.# The default will result in a suffix like "04May2000". "%Y%m%d" will produce# the often used yyyymmdd format. Read the strftime manpages for more options.# NOTE: On systems which don't support strftime, the default format will# be used _always_.set logfile-suffix ".%d%b%Y"# You can specify when Eggdrop should switch logfiles and start fresh. You# must use military time for this setting. 300 is the default, and describes# 03:00 (AM).set switch-logfiles-at 300# "Writing user file..." and "Writing channel file..." messages won't be# logged anymore if this option is enabled.set quiet-save 0##### CONSOLE ###### This is the default console mode. It uses the same event flags as the log# files do. The console channel is automatically set to your "primary" channel,# which is set in the modules section of the config file. Masters can change# their console channel and modes with the '.console' command.set console "mkcobxs"##### FILES AND DIRECTORIES ###### Specify here the filename your userfile should be saved as.set userfile "HelpDesk.user"# Specify here the filename Eggdrop will save its pid to. If no pidfile is# specified, pid.(botnet-nick) will be used.#set pidfile "pid.HelpDesk"# If you want your userfile to be sorted upon saving, enable this setting.# This causes the bot to use bit more CPU when saving the usefile.set sort-users 0# Specify here where Eggdrop should look for help files. Don't modify this# setting unless you know what you're doing!set help-path "help/"# Specify here where Eggdrop should look for text files. This is used for# certain Tcl and DCC commands.set text-path "text/"# Set here a place to store temporary files.set temp-path "tmp/"# The MOTD (Message Of The day) is displayed when people dcc chat or telnet# to the bot. Look at doc/TEXT-SUBSTITUTIONS for options.set motd "text/motd"# This banner will be displayed on telnet connections. Look at# doc/TEXT-SUBSTITUTIONS for options.set telnet-banner "text/banner"# This specifies what permissions the user, channel, and notes files should# be set to. The octal values are the same as for the chmod system command.## To remind you:##          u  g  o           u  g  o           u  g  o#    0600  rw-------   0400  r--------   0200  -w-------    u - user#    0660  rw-rw----   0440  r--r-----   0220  -w--w----    g - group#    0666  rw-rw-rw-   0444  r--r--r--   0222  -w--w--w-    o - others## Note that the default 0600 is the most secure one and should only be changed# if you need your files for shell scripting or other external applications.set userfile-perm 0600##### BOTNET/DCC/TELNET ###### Settings in this section should be unimportant for you until you deal# with botnets (multiple Eggdrops connected together to maximize efficiency).# You should read doc/BOTNET before modifying these settings.# If you want to use a different nickname on the botnet than you use on# IRC (i.e. if you're on an un-trusted botnet), un-comment the next line# and set it to the nick you would like to use.#set botnet-nick "HelpDesk"# This opens a telnet port by which you and other bots can interact with the# Eggdrop by telneting in.## There are more options for the listen command in doc/tcl-commands.doc. Note# that if you are running more than one bot on the same machine, you will want# to space the telnet ports at LEAST 5 apart, although 10 is even better.## Valid ports are typically anything between 1025 and 65535 assuming the# port is not already in use.## If you would like the bot to listen for users and bots in separate ports,# use the following format:##   listen 3333 bots#   listen 4444 users## If you wish to use only one port, use this format:##   listen 3333 all## You need to un-comment this line and change the port number in order to open# the listen port. You should not keep this set to 3333.listen 6666 all# This setting defines whether or not people can boot users on the Eggdrop# from other bots in your botnet. Valid settings are:#   0 - allow *no* outside boots#   1 - allow boots from sharebots#   2 - allow any bootsset remote-boots 2# This setting prohibits remote bots from telling your Eggdrop to unlink from# share bots.set share-unlinks 1# This setting will drop telnet connections not matching a known host. It# greatly improves protection from IRCops, but makes it impossible to add# hosts on limbo (NOIRC) bots or have NEW as a valid login.set protect-telnet 0# This setting will make the bot ignore DCC chat requests which appear to# have bogus information on the grounds that the user may have been trying# to make the bot connect to somewhere that will get it into trouble, or# that the user has a broken client (like mIRC tends to do), in which case# the connect wouldn't work anyway. It's suggested that you turn this on.set dcc-sanitycheck 0# This settings defines a time in seconds that the bot should wait before# a dcc chat, telnet, or relay connection times out.set ident-timeout 5# Define here whether or not a +o user still needs the +p flag to dcc the bot.set require-p 0# If you want people allow to telnet in and type 'NEW' to become a new user,# set this to 1. This is similar to the 'hello' msg command. The protect-telnet# setting must be set to 0 to use this.set open-telnets 0# If you don't want Eggdrop to identify itself as an eggdrop on a telnet# connection, set this setting to 1. Eggdrop will display 'Nickname' instead.set stealth-telnets 0# If you want Eggdrop to display a banner when telneting in, set this setting# to 1. The telnet banner is set by 'set telnet-banner'.set use-telnet-banner 0# This settings defines a time in seconds that the bot should wait before# a dcc chat, telnet, or relay connection times out.set connect-timeout 15# Specify here the number of lines to accept from a user on the partyline# within 1 second before they are considered to be flooding and therefore# get booted.set dcc-flood-thr 3# Define here how many telnet connection attempts in how many seconds from# the same host constitute a flood. The correct format is Attempts:Seconds.set telnet-flood 5:60# If you want telnet-flood to apply even to +f users, set this setting to 1.set paranoid-telnet-flood 1# Set here the amount of seconds before giving up on hostname/address# lookup (you might want to increase this if you are on a slow network).set resolve-timeout 15##### MORE ADVANCED SETTINGS ###### Set this to your socks host if your Eggdrop sits behind a firewall. If# you use a Sun "telnet passthru" firewall, prefix the host with a '!'.#set firewall "!sun-barr.ebay:3666"# If you have a NAT firewall (you box has an IP in one of the following# ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255,# 10.0.0.0-10.255.255.255 and your firewall transparently changes your# address to a unique address for your box) or you have IP masquerading# between you and the rest of the world, and /dcc chat, /ctcp chat or# userfile sharing aren't working, enter your outside IP here. Do not# enter anything for my-ip or my-hostname if you use this setting.#set nat-ip "127.0.0.1"# If you want all dcc file transfers to use a particular portrange either# because you're behind a firewall, or for other security reasons, set it# here.#set reserved-portrange 2010:2020# Set the time in minutes that temporary ignores should last.set ignore-time 15# Define here what Eggdrop considers 'hourly'. All calls to it, including such# things as note notifying or userfile saving, are affected by this.# For example:##   set hourly-updates 15## The bot will save its userfile 15 minutes past every hour.set hourly-updates 00# Un-comment the next line and set the list of owners of the bot.# You NEED to change this setting.set owner "good"# Who should a note be sent to when new users are learned?set notify-newusers "$owner"# Enter the flags that all new users should get by default. See '.help whois'# on the partyline for a list of flags and their descriptions.set default-flags "hp"# Enter all user-defined fields that should be displayed in a '.whois'.# This will only be shown if the user has one of these extra fields.# You might prefer to comment this out and use the userinfo1.0.tcl script# which provides commands for changing all of these.set whois-fields "url birthday"# Enable this setting if you want your Eggdrop to die upon receiving a SIGHUP# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.set die-on-sighup 0# Enable this setting if you want your Eggdrop to die upon receiving a SIGTERM# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.set die-on-sigterm 1# Comment these two lines if you wish to enable the .tcl and .set commands.# If you select your owners wisely, you should be okay enabling these.unbind dcc n tcl *dcc:tclunbind dcc n set *dcc:set# If you enable this setting, only permanent owners (owner setting) will be# able to use .tcl and .set. Moreover, if you want only let permanent owners# use .dump, then set this to 2.set must-be-owner 1# Comment out this line to add the 'simul' partyline command (owners can# manipulate other people on the party line). Please select owners wisely# and use this command ethically!unbind dcc n simul *dcc:simul# Set here the maximum number of dcc connections you will allow. You can# increase this later, but never decrease it.set max-dcc 50# Enable this setting if you want +d &amp; +k users to use commands bound as -|-.set allow-dk-cmds 1# If your Eggdrop rejects bots that actually have already disconnected from# another hub, but the disconnect information has not yet spread over the# botnet due to lag, use this setting. The bot will wait dupwait-timeout# seconds before it checks again and then finally reject the bot.set dupwait-timeout 5##### MODULES ###### Below are various settings for the modules included with Eggdrop.# PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at# Eggdrop, things change.# This path specifies the path were Eggdrop should look for its modules.# If you run the bot from the compilation directory, you will want to set# this to "". If you use 'make install' (like all good kiddies do ;), this# is a fine default. Otherwise, use your head :)set mod-path "modules/"#### DNS MODULE ##### This module provides asynchronous dns support. This will avoid long# periods where the bot just hangs there, waiting for a hostname to# resolve, which will often let it timeout on all other connections.loadmodule dns#### CHANNELS MODULE ##### This module provides channel related support for the bot. Without it,# you won't be able to make the bot join a channel or save channel# specific userfile information.loadmodule channels# Enter here the filename where dynamic channel settings are stored.set chanfile "#katrina-news.chan"# Set this setting to 1 if you want your bot to expire bans/exempts/invites set# by other opped bots on the channel.set force-expire 0# Set this setting to 1 if you want your bot to share user greets with other# bots on the channel if sharing user data.set share-greet 0# Set this setting to 1 if you want to allow users to store an info line.set use-info 1# The following settings are used as default values when you .+chan #chan or .tcl# channel add #chan. Look in the section below for explanation of every option.set global-flood-chan 10:60set global-flood-deop 3:10set global-flood-kick 3:10set global-flood-join 5:60set global-flood-ctcp 3:60set global-flood-nick 5:60set global-aop-delay 5:30set global-idle-kick 0set global-chanmode "nt"set global-stopnethack-mode 0set global-revenge-mode 0set global-ban-time 120set global-exempt-time 60set global-invite-time 60set global-chanset {        +autoop         -autovoice        -bitch          +cycle        +dontkickops    +dynamicbans        +dynamicexempts +dynamicinvites        -enforcebans    +greet        -inactive       -nodesynch        -protectfriends +protectops        -revenge        -revengebot        -secret         -seen        +shared         +statuslog        +userbans       +userexempts        +userinvites    -protecthalfops        +autohalfop}# Add each static channel you want your bot to sit in using the following# command. There are many different possible settings you can insert into# this command, which are explained below.##    channel add #katrina-news {#      chanmode "+nt-likm"#      idle-kick 0#      stopnethack-mode 0#      revenge-mode 0#      ban-time 120#      exempt-time 60#      invite-time 60#      aop-delay 5:30#      need-op { putserv "PRIVMSG #katrina-news :op!" }#      need-invite { putserv "PRIVMSG #katrina-news :let me in!" }#      need-key { putserv "PRIVMSG #katrina-news :let me in!" }#      need-unban { putserv "PRIVMSG #katrina-news :let me in!" }#      need-limit { putserv "PRIVMSG #katrina-news :let me in!" }#      flood-chan 10:60#      flood-deop 3:10#      flood-kick 3:10#      flood-join 5:60#      flood-ctcp 3:60#      flood-nick 5:60#    }## chanmode +/-&lt;modes&gt;#    This setting makes the bot enforce channel modes. It will always add#    the +&lt;modes&gt; and remove the -&lt;modes&gt; modes.# idle-kick 0#    This setting will make the bot check every minute for idle#    users. Set this to 0 to disable idle check.## stopnethack-mode 0#    This setting will make the bot de-op anyone who enters the channel#    with serverops. There are seven different modes for this settings:#       0 turn off,#      1 isoptest (allow serverop if registered op)#      2 wasoptest (allow serverop if op before split)#      3 allow serverop if isop or wasop#      4 allow serverop if isop and wasop.#      5 If the channel is -bitch, see stopnethack-mode 3#        If the channel is +bitch, see stopnethack-mode 1#      6 If the channel is -bitch, see stopnethack-mode 2#        If the channel is +bitch, see stopnethack-mode 4## revenge-mode 0#   This settings defines how the bot should punish bad users when#   revenging. There are four possible settings:#     0 Deop the user.#     1 Deop the user and give them the +d flag for the channel.#     2 Deop the user, give them the +d flag for the channel, and kick them.#     3 Deop the user, give them the +d flag for the channel, kick, and ban them.## ban-time 120#   Set here how long temporary bans will last (in minutes). If you#   set this setting to 0, the bot will never remove them.## exempt-time 60#   Set here how long temporary exempts will last (in minutes). If you#   set this setting to 0, the bot will never remove them. The bot will#   check the exempts every X minutes, but will not remove the exempt if#   a ban is set on the channel that matches that exempt. Once the ban is#   removed, then the exempt will be removed the next time the bot checks.#   Please note that this is an IRCnet feature.## invite-time 60#   Set here how long temporary invites will last (in minutes). If you#   set this setting to 0, the bot will never remove them. The bot will#   check the invites every X minutes, but will not remove the invite if#   a channel is set to +i. Once the channel is -i then the invite will be#   removed the next time the bot checks. Please note that this is an IRCnet#   feature.## aop-delay (minimum:maximum)# This is used for autoop, autohalfop, autovoice. If an op or voice joins a# channel while another op or voice is pending, the bot will attempt to put# both modes on one line.#   aop-delay 0   No delay is used.#   aop-delay X   An X second delay is used.#   aop-delay X:Y A random delay between X and Y is used.## need-op { putserv "PRIVMSG #katrina-news :op me!" }#    This setting will make the bot run the script enclosed in brackets#    if it does not have ops. This must be shorter than 120 characters.#    If you use scripts like getops.tcl or botnetop.tcl, you don't need#    to set this setting.## need-invite { putserv "PRIVMSG #katrina-news :let me in!" }#    This setting will make the bot run the script enclosed in brackets#    if it needs an invite to the channel. This must be shorter than 120#    characters. If you use scripts like getops.tcl or botnetop.tcl, you#    don't need to set this setting.## need-key { putserv "PRIVMSG #katrina-news :let me in!" }#    This setting will make the bot run the script enclosed in brackets#    if it needs the key to the channel. This must be shorter than 120#    characters. If you use scripts like getops.tcl or botnetop.tcl, you#    don't need to set this setting## need-unban { putserv "PRIVMSG #katrina-news :let me in!" }#    This setting will make the bot run the script enclosed in brackets#    if it needs to be unbanned on the channel. This must be shorter than#    120 characters. If you use scripts like getops.tcl or botnetop.tcl,#    you don't need to set this setting## need-limit { putserv "PRIVMSG #katrina-news :let me in!" }#    This setting will make the bot run the script enclosed in brackets#    if it needs the limit to be raised on the channel. This must be#    shorter than 120 characters. If you use scripts like getops.tcl or#    botnetop.tcl, you don't need to set this setting## flood-chan 10:60#    Set here how many channel messages in how many seconds from one#    host constitutes a flood. Setting this to 0 or 0:0 disables#    flood protection for the channel.## flood-deop 3:10#    Set here how many deops in how many seconds from one host constitutes#    a flood. Setting this to 0 or 0:0 disables deop flood protection for#    the channel.## flood-kick 3:10#    Set here how many kicks in how many seconds from one host constitutes#    a flood. Setting this to 0 or 0:0 disables kick flood protection for#    the channel.## flood-join 5:60#    Set here how many joins in how many seconds from one host constitutes#    a flood. Setting this to 0 or 0:0 disables join flood protection for#    the channel.## flood-ctcp 3:60#    Set here how many channel ctcps in how many seconds from one host#    constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood#    protection for the channel.## flood-nick 5:60#    Set here how many nick changes in how many seconds from one host#    constitutes a flood. Setting this to 0 or 0:0 disables nick flood#    protection for the channel.## There are many different options for channels which you can# define. They can be enabled or disabled using the channel set command by a# plus or minus in front of them.##   channel set #katrina-news +enforcebans +dynamicbans +userbans +dynamicexempts#   channel set #katrina-news +userexempts +dynamicinvites +userinvites +protectops#   channel set #katrina-news +protectfriends +statuslog +revenge -protecthalfops#   channel set #katrina-news +revengebot +dontkickops +autovoice +autoop +autohalfop#   channel set #katrina-news -bitch -secret -shared +greet +cycle## A complete list of all available channel settings:## enforcebans#    When a ban is set, kick people who are on the channel and match#    the ban?## dynamicbans#    Only activate bans on the channel when necessary? This keeps#    the channel's ban list from getting excessively long. The bot#    still remembers every ban, but it only activates a ban on the#    channel when it sees someone join who matches that ban.## userbans#    Allow bans to be made by users directly? If turned off, the bot#    will require all bans to be made through the bot's console.## dynamicexempts#    Only activate exempts on the channel when necessary? This keeps#    the channel's exempt list from getting excessively long. The bot#    still remembers every exempt, but it only activates a exempt on#    the channel when it sees a ban set that matches the exempt. The#    exempt remains active on the channel for as long as the ban is#    still active.## userexempts#    Allow exempts to be made by users directly? If turned off, the#    bot will require all exempts to be made through the bot's console.## dynamicinvites#    Only activate invites on the channel when necessary? This keeps#    the channel's invite list from getting excessively long. The bot#    still remembers every invite, but the invites are only activated#    when the channel is set to invite only and a user joins after#    requesting an invite. Once set, the invite remains until the#    channel goes to -i.## userinvites#    Allow invites to be made by users directly? If turned off, the#    bot will require all invites to be made through the bot's console.## autoop#    Op users with the +o flag as soon as they join the channel?#    This is insecure and not recommended.## autohalfop#    Halfop users with the +l flag as soon as they join the channel?#    This is insecure and not recommended.## bitch#    Only let users with +o) flag be opped on the channel?## greet#    Say a user's info line when they join the channel?## protectops#    Re-op a user with the +o flag if they get deopped?## protecthalfops#    Re-halfop a user with the +l flag if they get dehalfopped?## protectfriends#    Re-op a user with the +f flag if they get deopped?## statuslog#    Log the channel status line every 5 minutes? This shows the bot's#    status on the channel (op, voice, etc.), the channel's modes, and#    the number of +m/+o/+v/+n/+b/+e/+I users on the channel. A sample#    status line follows:##      [01:40] @#katrina-news (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7]## revenge#    Remember people who deop/kick/ban the bot, valid ops, or friends#    and punish them? Users with the +f flag are exempt from revenge.## revengebot#    This is similar to to the 'revenge' option, but it only triggers#    if a bot gets deopped, kicked or banned.## autovoice#    Voice users with the +v flag when they join the channel?## secret#    Prevent this channel from being listed on the botnet?## shared#    Share channel-related user info for this channel?## cycle#    Cycle the channel when it has no ops?## dontkickops#    Do you want the bot not to be able to kick users who have the +o#    flag, letting them kick-flood for instance to protect the channel#    against clone attacks.## inactive#    This prevents the bot from joining the channel (or makes it leave#    the channel if it is already there). It can be useful to make the#    bot leave a channel without losing its settings, channel-specific#    user flags, channel bans, and without affecting sharing.## seen#    Respond to seen requests in the channel?  The seen module must be#    loaded for this to work.## nodesynch#    Allow non-ops to perform channel modes? This can stop the bot from#    fighting with services such as ChanServ, or from kicking IRCops when#    setting channel modes without having ops.## Here is a shorter example:##   channel add #katrina-news {#     chanmode "+mntisl 1"#     idle-kick 1#   }#   channel set #katrina-news +bitch +enforcebans -greet +revenge +autoop +autovoice#### SERVER MODULE ##### This module provides the core server support. You have to load this# if you want your bot to come on IRC. Not loading this is equivalent# to the old NO_IRC define.loadmodule server# What is your network?#   0 = EFnet#   1 = IRCnet#   2 = Undernet#   3 = DALnet#   4 = +e/+I/max-modes 20 Hybrid#   5 = Othersset net-type 0# Set the nick the bot uses on IRC, and on the botnet unless you specify a# separate botnet-nick, here.set nick "HelpDesk"# Set the alternative nick which the bot uses on IRC if the nick specified# by 'set nick' is unavailable. All '?' characters will be replaced by random# numbers.set altnick "HelpDesk2"# Set what should be displayed in the real-name field for the bot on IRC.set realname "/msg Help Desk hello"# This is a Tcl script to be run immediately after connecting to a server.bind evnt - init-server evnt:init_serverproc evnt:init_server {type} {  global botnick  putquick "MODE $botnick +i-ws"}# Set the default port which should be used if none is specified with# '.jump' or in 'set servers'.set default-port 6667# This is the bot's server list. The bot will start at the first server listed,# and cycle through them whenever it gets disconnected. You need to change these# servers to YOUR network's servers.## The format is:#   server[:port[:password]]## Both the port and password fields are optional; however, if you want to set a# password you must also set a port. If a port isn't specified it will default to# your default-port setting.set servers {  irc.blessed.net:6667}# This setting makes the bot try to get his original nickname back if its# primary nickname is already in use.set keep-nick 1# Set this to 1 if you don't want your the bot to strip a leading '~' on# user@hosts.set strict-host 0# This setting makes the bot squelch the error message when rejecting a DCC# CHAT, SEND or message command. Normally, Eggdrop notifies the user that the# command has been rejected because they don't have access. Note that sometimes# IRC server operators detect bots that way.set quiet-reject 1# If you want your bot to answer lower case ctcp requests (non rfc-# compliant), set this setting to 1. mIRC will do this, most other# clients will not.set lowercase-ctcp 0# Set how many ctcps should be answered at once.set answer-ctcp 3# Set here how many msgs in how many seconds from one host constitutes# a flood. If you set this to 0:0, msg flood protection will be disabled.set flood-msg 5:60# Set here how many ctcps in how many seconds from one host constitutes# a flood. If you set this to 0:0, ctcp flood protection will be disabled.set flood-ctcp 3:60# This settings makes the bot cycle forever through the server list until# it successfully connects to one.set never-give-up 1# This setting defines how long Eggdrop should wait before moving from one# server to another on disconnect. If you set 0 here, Eggdrop will not wait# at all and will connect instantly. Setting this too low could result in# your bot being K:Lined.set server-cycle-wait 60# Set here how long Eggdrop should wait for a response when connecting to a# server before giving up and moving on to next server.set server-timeout 60# If the number of servers on the net gets below this number, the bot# will jump to a new server (it will assume it's on the losing end of# a netsplit). Set this to 0 to turn off. If your bot is running on# any major IRC network, this should probably be turned off.set servlimit 0# Set this to 1 if Eggdrop should check for stoned servers? (where the# server connection has died, but Eggdrop hasn't been notified yet).set check-stoned 1# If you want your bot to exit the server if it receives an ERROR message,# set this to 1.set serverror-quit 1# Set here the maximum number of lines to queue to the server. If you're# going to dump large chunks of text to people over IRC, you will probably# want to raise this. 300 is fine for most people though.set max-queue-msg 300# If you want Eggdrop to trigger binds for ignored users, set this to 1.set trigger-on-ignore 0# Allow identical messages in the mode queue?set double-mode 1# Allow identical messages in the server queue?set double-server 1# Allow identical messages in the help queue?set double-help 1# This optimizes the kick queue. It also traces nick changes and parts in# the channel and changes the kick queue accordingly. There are three# different options for this setting:#   0 = Turn it off.#   1 = Optimize the kick queue by summarizing kicks.#   2 = Trace nick changes and parts on the channel and change the queue#       accordingly. For example, bot will not try to kick users who have#       already parted the channel.# ATTENTION: Setting 2 is very CPU intensive.set optimize-kicks 1# If your network supports more recipients per command then 1, you can# change this behavior here. Set this to the number of recipients per# command, or set this to 0 for unlimited.set stack-limit 4### SERVER MODULE - OTHER NETWORKS (net-type 5) #### This settings defines how umode +r is understood by Eggdrop. Some networks# use +r to indicate a restricted connection. If this is your case, and you# want your bot to leave restricted servers and jump to the next server on its# list, then set it to 1.#set check-mode-r 1# This setting allows you to specify the maximum nick-length supported by your# network. The default setting is 9. The maximum supported length by Eggdrop# is 32.#set nick-len 9#### CTCP MODULE ##### This module provides the normal ctcp replies that you'd expect.# Without it loaded, CTCP CHAT will not work. The server module# is required for this module to function.loadmodule ctcp# Set here how the ctcp module should answer ctcps. There are 3 possible# operating modes:#   0: Normal behavior is used.#   1: The bot ignores all ctcps, except for CHAT and PING requests#      by users with the +o flag.#   2: Normal behavior is used, however the bot will not answer more#      than X ctcps in Y seconds (defined by 'set flood-ctcp').set ctcp-mode 0# There are also several variables to help make your bot less noticeable.# They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set# them to values you'd like.#### IRC MODULE ##### This module provides basic IRC support for your bot. You have to# load this if you want your bot to come on IRC. The server and channels# modules must be loaded for this module to function.loadmodule irc# Set this to 1 if you want to bounce all server bans.set bounce-bans 1# Set this to 1 if you want to bounce all server exemptions (+e modes).# This is disabled if use-exempts is disabled.set bounce-exempts 0# Set this to 1 if you want to bounce all server invitations (+I modes).# This is disabled if use-invites is disabled.set bounce-invites 0# Set this to 1 if you want to bounce all server modes.set bounce-modes 0# Set here the maximum number of bans you want the bot to set on a channel.# Eggdrop will not place any more bans if this limit is reached. Undernet# currently allows 45 bans, IRCnet allows 30, EFnet allows 100, and DALnet# allows 100.set max-bans 30# Set here the maximum number of exempts you want Eggdrop to set on a channel.# Eggdrop will not place any more exempts if this limit is reached.set max-exempts 20# Set here the maximum number of invites you want Eggdrop to set on a channel.# Eggdrop will not place any more invites if this limit is reached.set max-invites 20# There is a global limit for +b/+e/+I modes. This limit should be set to# the same value as max-bans for networks that do not support +e/+I.set max-modes 30# The following settings should be left commented unless the default values# are being overridden. By default, exempts and invites are on for EFnet and# IRCnet, but off for all other large networks. This behavior can be modified# with the following 2 flags. If your network doesn't support +e/+I modes then# you will be unable to use these features.## Do you want to enable exempts (+e modes)?#set use-exempts 0# Do you want to enable invites (+I modes)?#set use-invites 0# Set this to 1 if you want the bot to kick for control character/ctcp# avalanches to a channel. Remember that if it does, it won't ban them.# This can start kick floods.set kick-fun 0# Set this to 1 if you want the bot to ban for control character/ctcp# avalanches to a channel. This can prevent kick floods, but it also can# fill the banlist.set ban-fun 0# If you want people to be able to add themselves to the bot's userlist# with the default userflags (defined above in the config file) via the# 'hello' msg command, set this to 1.set learn-users 0# Set here the time (in seconds) to wait for someone to return from a netsplit# (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since its# nick delay stops after 30 minutes.set wait-split 600# Set here the time (in seconds) that someone must have been off-channel# before re-displaying their info line.set wait-info 180# Set this to the maximum number of bytes to send in the arguments# of modes sent to the server. Most servers default this to 200.set mode-buf-length 200# Many IRCops find bots by seeing if they reply to 'hello' in a msg.# You can change this to another word by un-commenting the following# two lines and changing "myword" to the word wish to use instead of# 'hello'. It must be a single word.# unbind msg - hello *msg:hello# bind msg - myword *msg:hello# Many takeover attempts occur due to lame users blindly /msg ident'ing to# the bot and attempting to guess passwords. We now unbind this command by# default to discourage them. You can enable these commands by commenting the# following two lines.unbind msg - ident *msg:identunbind msg - addhost *msg:addhost# Some IRC servers are using some non-standard op-like channel prefixes/modes.# Define them here so the bot can recognize them. Just "@" should be fine for# most networks. Un-comment the second line for some UnrealIRCds.set opchars "@"#set opchars "@&amp;~"# If you are so lame you want the bot to display peoples info lines, even# when you are too lazy to add their chanrecs to a channel, set this to 1.# *NOTE* This means *every* user with an info line will have their info# line displayed on EVERY channel they join (provided they have been gone# longer than wait-info).set no-chanrec-info 0### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type 1) #### Attention: Use these settings *only* if you set 'net-type' to 1!# At the moment, the current IRCnet IRCd version (2.10) doesn't support the# mixing of b, o and v modes with e and I modes. This might be changed in the# future, so use 1 at the moment for this setting.set prevent-mixing 1### IRC MODULE - OTHER NETWORKS (net-type 5) #### Attention: Use these settings *only* if you set 'net-type' to 5!# If your network supports more users per kick command then 1, you can# change this behavior here. Set this to the number of users to kick at# once, or set this to 0 for all at once.#set kick-method 1# Some networks allow you to stack lots of channel modes into one line.# They're all guaranteed to support at least 3, so that's the default.# If you know your network supports more, you may want to adjust this.# This setting is limited to 6, although if you want to use a higher value,# you can modify this by changing the value of MODES_PER_LINE_MAX in# src/chan.h and recompiling the bot.#set modes-per-line 3# Some networks don't include the +l limit and +k or -k key modes# in the modes-per-line (see above) limitation. Set include-lk to 0 for# these networks.#set include-lk 1# Set this to 1 if your network uses IRCu2.10.01 specific /who requests.# Eggdrop can, therefore, ask only for exactly what's needed.#set use-354 0# If your network doesn't use rfc 1459 compliant string matching routines,# set this to 0.#set rfc-compliant 1#### TRANSFER MODULE ##### The transfer module provides DCC SEND/GET support and userfile transfer# support for userfile sharing. Un-comment the next line to load it if you# need this functionality.#loadmodule transfer# Set here the maximum number of simultaneous downloads to allow for# each user.set max-dloads 3# Set here the block size for dcc transfers. ircII uses 512 bytes,# but admits that it may be too small. 1024 is standard these days.# 0 is turbo-dcc (recommended).set dcc-block 0# Enable this setting if you want to copy files into the /tmp directory# before sending them. This is useful on most systems for file stability,# but if your directories are NFS mounted, it's a pain, and you'll want# to set this to 0. If you are low on disk space, you may also want to# set this to 0.set copy-to-tmp 1# Set here the time (in seconds) to wait before an inactive transfer times out.set xfer-timeout 30#### SHARE MODULE ##### This module provides userfile sharing support between two directly# linked bots. The transfer and channels modules are required for this# module to correctly function. Un-comment the following line to load# the share module.#loadmodule share# Settings in this section must be un-commented before setting.# When two bots get disconnected, this setting allows them to create a# resync buffer which saves all changes done to the userfile during# the disconnect. When they reconnect, they will not have to transfer# the complete user file, but, instead, just send the resync buffer.## NOTE: This has been known to cause loss of channel flags and other# problems. Using this setting is not recommended.#set allow-resync 0# This setting specifies how long to hold another bots resync data# before flushing it.#set resync-time 900# When sharing user lists, DON'T ACCEPT global flag changes from other bots?# NOTE: The bot will still send changes made on the bot, it just won't accept# any global flag changes from other bots. This overrides the private-globals# setting (below).#set private-global 0# When sharing user lists, if private-global isn't set, which global flag# changes from other bots should be ignored?#set private-globals "mnot"# When sharing user lists, don't accept ANY userfile changes from other# bots? Paranoid people should use this feature on their hub bot. This# will force all userlist changes to be made via the hub.#set private-user 0# This setting makes the bot discard its own bot records in favor of# the ones sent by the hub.# NOTE: No passwords or botflags are shared, only ports and# address are added to sharing procedure. This only works with hubs that# are v1.5.1 or higher.#set override-bots 0#### COMPRESS MODULE ##### This module provides provides support for file compression. This allows the# bot to transfer compressed user files and therefore save a significant amount# of bandwidth. The share module must be loaded to load this module. Un-comment# the following line to the compress module.#loadmodule compress# Allow compressed sending of user files? The user files are compressed with# the compression level defined in `compress-level'.set share-compressed 1# This is the default compression level used. These levels are the same as# those used by GNU gzip.#set compress-level 9#### FILESYSTEM MODULE ##### This module provides an area within the bot where users can store and# manage files. With this module, the bot is usable as a file server. The# transfer module is required for this module to function. Un-comment# the following line to load the filesys module.#loadmodule filesys# Set here the 'root' directory for the file system.set files-path "/home/mydir/filesys"# If you want to allow uploads, set this to the directory uploads# should be put into. Set this to "" if you don't want people to# upload files to your bot.set incoming-path "/home/mydir/filesys/incoming"# If you don't want to have a central incoming directory, but instead# want uploads to go to the current directory that a user is in, set# this setting to 1.set upload-to-pwd 0# Eggdrop creates a '.filedb' file in each subdirectory of your file area# to keep track of its own file system information. If you can't do that (for# example, if the dcc path isn't owned by you, or you just don't want it to do# that) specify a path here where you'd like all of the database files to be# stored instead.set filedb-path ""# Set here the maximum number of people that can be in the file area at once.# Setting this to 0 makes it effectively infinite.set max-file-users 20# Set here the maximum allowable file size that will be received (in KB).# Setting this to 0 makes it effectively infinite.set max-filesize 1024#### NOTES MODULE ##### This module provides support for storing of notes for users from each other.# Note sending between currently online users is supported in the core, this is# only for storing the notes for later retrieval.loadmodule notes# Set here the filename where private notes between users are stored.set notefile "LamestBot.notes"# Set here the maximum number of notes to allow to be stored for each user# (to prevent flooding).set max-notes 50# Set here how long (in days) to store notes before expiring them.set note-life 60# Set this to 1 if you want to allow users to specify a forwarding address# for forwarding notes to another account on another bot.set allow-fwd 0# Set this to 1 if you want the bot to let people know hourly if they have# any notes.set notify-users 1# Set this to 1 if you want the bot to let people know on join if they have# any notes.set notify-onjoin 1# Comment out this next line. Otherwise, your bot won't start.# die "You didn't edit your config file completely like you were told, did you?"#### CONSOLE MODULE ##### This module provides storage of console settings when you exit the# bot or type .store on the partyline.loadmodule console# Save users console settings automatically? Otherwise, they have# to use the .store command.set console-autosave 1# If a user doesn't have any console settings saved, which channel# do you want them automatically put on?set force-channel 0# Enable this setting if a user's global info line should be displayed# when they join a botnet channel.set info-party 0#### WOOBIE MODULE ##### This is for demonstrative purposes only. If you are looking for starting# point in writing modules, woobie is the right thing.#loadmodule woobie#### SEEN MODULE ##### This module provides very basic seen commands via msg, on channel or via dcc.# This module works only for users in the bot's userlist. If you are looking for# a better and more advanced seen module, try the gseen module by G'Quann. You# can find it at http://www.visions-of-fantasy.de/gseen.mod/.#loadmodule seen#### BLOWFISH MODULE ##### IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER# Eggdrop encrypts its userfile, so users can have secure passwords.# Please note that when you change your encryption method later (i.e.# using other modules like a md5 module), you can't use your current# userfile anymore. Eggdrop will not start without an encryption module.loadmodule blowfish#### ASSOC MODULE ##### This module provides assoc support, i.e. naming channels on the botnet.# You can load it by un-commenting the following line.#loadmodule assoc#### WIRE MODULE ##### This module provides all the standard .wire commands via dcc. It is an# encrypted partyline communication tool, compatible with wire.tcl. An# encryption module must be loaded to use this module. Un-comment the# following line to load the wire module.#loadmodule wire#### UPTIME MODULE ##### This module reports uptime statistics to http://uptime.eggheads.org.# Go look and see what your uptime is! It takes about 9 hours to show up,# so if your bot isn't listed, try again later. The server module must be# loaded for this module to function.## Information sent to the server includes the bot's uptime, botnet-nick,# server, version, and IP address. This information is stored in a temporary# logfile for debugging purposes only. The only publicly available information# will be the bot's botnet-nick, version and uptime. If you do not wish for this# information to be sent, comment out the following line.loadmodule uptime##### SCRIPTS ###### This is a good place to load scripts to use with your bot.# This line loads script.tcl from the scripts directory inside your Eggdrop's# directory. All scripts should be put there, although you can place them where# you like as long as you can supply a fully qualified path to them.## source scripts/script.tclsource scripts/alltools.tclsource scripts/action.fix.tcl# Use this script for Tcl and Eggdrop downwards compatibility.# NOTE: This can also cause problems with some newer scripts.source scripts/compat.tcl# This script provides many useful informational functions, like setting# users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add# extra entries.source scripts/userinfo.tclloadhelp userinfo.help########################################################################                                                                     ## rssnews.tcl - RSS news announcer for eggdrop by demond@demond.net   ##                                                                     ##               this will announce the updated news from RSS feed(s), ##               periodically polling the feed(s); supports multiple   ##               channels, one feed per channel; you only need to set  ##               the feeds array, see below                            ##                                                                     ##        Usage: !rss &lt;news#|*&gt; (read news# or * for headlines list)   ##                                                                     ########################################################################package require Tcl 8.3package require eggdrop 1.6package require http 2.0namespace eval rssnews {# set your feed(s) sources here: channel, poll frequency in mins, feed URLset feeds(#katrina-news) {17 http://today.reuters.com/rss/globalCoverage2/}set feeds(#katrina-news) {11 http://rss.nola.com/nola_localbreakingnews/index.rss}# maximum number of announced new headlines#variable maxnew 5# feed fetch timeout in seconds#variable timeout 20# nothing to edit belowvariable version "rssnews-1.2"bind pub  - !rss [namespace current]::newsbind time - *    [namespace current]::timerputlog "$version by demond loaded"proc timer {min hour day month year} {variable feedsif {[info exists feeds]} {if {$min} {set min [string trimleft $min 0]}foreach {chan feed} [array get feeds] {if {$min &amp;&amp; $min % [lindex $feed 0] == 0} {fetch [lindex $feed 1] $chan}}}}proc fetch {url chan} {variable timeoutvariable version; variable tokenset to [expr {$timeout * 1000}]set cmd [namespace current]::callback::http::config -useragent "$version by demond"if {[catch {set t [::http::geturl $url -command $cmd -timeout $to]} err]} {putlog "$version: ERROR($chan): $err"} {set token($t) $chan}}proc callback {t} {variable version; variable tokenset chan $token($t)switch -exact [::http::status $t] {"timeout" {putlog "$version: ERROR($chan): timeout"}"error" {putlog "$version: ERROR($chan): [::http::error $t]"}"ok" {if {[::http::ncode $t] != 200} {putlog "$version: ERROR($chan): [::http::code $t]"} {process [::http::data $t] $chan}}default {putlog "$version: ERROR($chan): got EOF from socket"}}::http::cleanup $t}proc process {data chan} {variable news; variable hashvariable maxnew; variable sourceset idx 1; set count 0set news($chan) {}; set source($chan) ""if {[regexp {(?i)&lt;title&gt;(.*?)&lt;/title&gt;} $data -&gt; foo]} {append source($chan) $foo}if {[regexp {(?i)&lt;description&gt;(.*?)&lt;/description&gt;} $data -&gt; foo]} {append source($chan) " | $foo"}regsub -all {(?i)&lt;items.*?&gt;.*?&lt;/items&gt;} $data {} dataforeach {foo item} [regexp -all -inline {(?i)&lt;item.*?&gt;(.*?)&lt;/item&gt;} $data] {regexp {(?i)&lt;title&gt;(.*?)&lt;/title&gt;}             $item -&gt; titleregexp {(?i)&lt;link&gt;(.*?)&lt;/link}                $item -&gt; linkregexp {(?i)&lt;description&gt;(.*?)&lt;/description&gt;} $item -&gt; descrif {![info exists title]} {set title "(none)"}if {![info exists link]}  {set link  "(none)"}if {![info exists descr]} {set descr "(none)"}strip title link descrif {[info exists hash($chan)]} {if {[lsearch -exact $hash($chan) [md5 $title]] == -1 &amp;&amp; [botonchan $chan]} {if {$count &lt; $maxnew} {puthelp "privmsg $chan :($idx) $title"incr count} {lappend indices $idx}}}lappend news($chan) [list $title $link $descr]lappend hashes [md5 $title]incr idx}if {[info exists indices] &amp;&amp; [botonchan $chan]} {set count [llength $indices]set indices "(indices: [join $indices {, }])"puthelp "privmsg $chan :...and $count more $indices" }set hash($chan) $hashes}proc strip {args} {variable htmlforeach a $args {upvar $a xset amp {&amp; &amp;}set x [string map $amp $x]set x [string map $html $x]while {[regexp -indices {(&amp;#[0-9]{1,3};)} $x -&gt; idxs]} {set b [lindex $idxs 0]; set e [lindex $idxs 1]set num [string range $x [expr {$b+2}] [expr {$e-1}]]if {$num &lt; 256} {set x [string replace $x $b $e [format %c $num]]}}regexp {(?i)&lt;!\[CDATA\[(.*?)\]\]&gt;}   $x -&gt;    xregsub -all {(?i)&lt;/t[dr]&gt;&lt;t[dr].*?&gt;} $x { | } xregsub -all {(?i)(&lt;p&gt;|&lt;br&gt;|\n)}      $x { }   xregsub -all {&lt;[^&lt;]+?&gt;}               $x {}    x}}proc news {nick uhost hand chan text} {variable sourcevariable news; variable feedsset num [lindex [split $text] 0]if {$num == ""} {puthelp "notice $nick :Usage: $::lastbind &lt;news#|*&gt;"return}if {$num != "*" &amp;&amp; ![string is integer $num]} {puthelp "notice $nick :argument must be number or *"return}if {![info exists news($chan)]} {puthelp "notice $nick :no news for this channel"return}if {$num == "*"} {set idx 1if {$source($chan) != ""} {set title $source($chan)} {set title [lindex $feeds($chan) 1]}puthelp "notice $nick :News source: \002$title\002"foreach item $news($chan) {puthelp "notice $nick :($idx) [lindex $item 0]"incr idx}return 1} {if {$num &lt; 1 || $num &gt; [llength $news($chan)]} {puthelp "notice $nick :no such news index, try $::lastbind *"} {set idx [expr {$num-1}]puthelp "notice $nick :......title($num): [lindex [lindex $news($chan) $idx] 0]"puthelp "notice $nick :description($num): [lindex [lindex $news($chan) $idx] 2]"puthelp "notice $nick :.......link($num): [lindex [lindex $news($chan) $idx] 1]"return 1}}}variable html {"     \x22  &amp;apos;     \x27  &amp;      \x26  &lt;       \x3C&gt;       \x3E        \x20  ¡    \xA1  ¤   \xA4¢     \xA2  £    \xA3  ¥      \xA5  ¦   \xA6§     \xA7  ¨      \xA8  ©     \xA9  ª     \xAA«    \xAB  ¬      \xAC  ­      \xAD  ®      \xAE¯     \xAF  °      \xB0  ±   \xB1  ²     \xB2³     \xB3  ´    \xB4  µ    \xB5  ¶     \xB6·   \xB7  ¸    \xB8  ¹     \xB9  º     \xBA»    \xBB  ¼   \xBC  ½   \xBD  ¾   \xBE¿   \xBF  ×    \xD7  ÷   \xF7  À   \xC0Á   \xC1  Â    \xC2  Ã   \xC3  Ä     \xC4Å    \xC5  Æ    \xC6  Ç   \xC7  È   \xC8É   \xC9  Ê    \xCA  Ë     \xCB  Ì   \xCCÍ   \xCD  Î    \xCE  Ï     \xCF  Ð      \xD0Ñ   \xD1  Ò   \xD2  Ó   \xD3  Ô    \xD4Õ   \xD5  Ö     \xD6  Ø   \xD8  Ù   \xD9Ú   \xDA  Û    \xDB  Ü     \xDC  Ý   \xDDÞ    \xDE  ß    \xDF  à   \xE0  á   \xE1â    \xE2  ã   \xE3  ä     \xE4  å    \xE5æ    \xE6  ç   \xE7  è   \xE8  é   \xE9ê    \xEA  ë     \xEB  ì   \xEC  í   \xEDî    \xEE  ï     \xEF  ð      \xF0  ñ   \xF1ò   \xF2  ó   \xF3  ô    \xF4  õ   \xF5ö     \xF6  ø   \xF8  ù   \xF9  ú   \xFAû    \xFB  ü     \xFC  ý   \xFD  þ    \xFEÿ     \xFF}}#  Script: Greetd.tcl# Version: 0.05b#  Author: Jeff Fisher &lt;fishy@dlcwest.com&gt;## Updates:#   12Feb98 - can now select delay time (idea by Angelos7)##   Notes:##    - can do multi-channel multi-lined greet msgs#    - can either msg all users or just non-users#    - will only show the greet to one identd or non-identd within 2min#       or whatever you change the time level too ...## Who to show?#  0 = all users#  1 = non-usersset greetd(show) 1# D</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6690">good</a> — Tue Sep 06, 2005 9:17 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[good]]></name></author>
		<updated>2005-09-06T20:57:45-04:00</updated>

		<published>2005-09-06T20:57:45-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=55374#p55374</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=55374#p55374"/>
		<title type="html"><![CDATA[Ignored channel masks for &lt;channel&gt; when trying to sta]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=55374#p55374"><![CDATA[
When I try to start my bot, I get an ignored channel masks error which prevents my bot from joining my channel. How would I fix this?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6690">good</a> — Tue Sep 06, 2005 8:57 pm</p><hr />
]]></content>
	</entry>
	</feed>
