1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377
|
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>README — Eggdrop 1.10.1rc2 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/eggdrop.css?v=ab48a1b6" />
<script src="../_static/documentation_options.js?v=290de6c6"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Installing Eggdrop" href="install.html" />
<link rel="prev" title="Eggdrop, an open source IRC bot" href="../index.html" />
</head><body>
<div class="header-wrapper" role="banner">
<div class="header">
<div class="headertitle"><a
href="../index.html">Eggdrop 1.10.1rc2 documentation</a></div>
<div class="rel" role="navigation" aria-label="related navigation">
<a href="../index.html" title="Eggdrop, an open source IRC bot"
accesskey="P">previous</a> |
<a href="install.html" title="Installing Eggdrop"
accesskey="N">next</a>
</div>
</div>
</div>
<div class="content-wrapper">
<div class="content">
<div class="sidebar">
<h3>Table of Contents</h3>
<p class="caption" role="heading"><span class="caption-text">Installing Eggdrop</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">README</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#notice">Notice</a></li>
<li class="toctree-l2"><a class="reference internal" href="#what-is-eggdrop">What is Eggdrop?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-get-eggdrop">How to Get Eggdrop</a></li>
<li class="toctree-l2"><a class="reference internal" href="#system-pre-requisites">System Pre-Requisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#minimum-requirements">Minimum Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="#quick-startup">Quick Startup</a></li>
<li class="toctree-l2"><a class="reference internal" href="#upgrading">Upgrading</a></li>
<li class="toctree-l2"><a class="reference internal" href="#command-line">Command Line</a></li>
<li class="toctree-l2"><a class="reference internal" href="#auto-starting-eggdrop">Auto-starting Eggdrop</a></li>
<li class="toctree-l2"><a class="reference internal" href="#documentation">Documentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#obtaining-help">Obtaining Help</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installing Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="upgrading.html">Upgrading Eggdrop</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Using Eggdrop</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../using/features.html">Eggdrop Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/core.html">Eggdrop Core Settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/partyline.html">The Party Line</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/autoscripts.html">Eggdrop Autoscripts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/users.html">Users and Flags</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/bans.html">Bans, Invites, and Exempts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/botnet.html">Botnet Sharing and Linking</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/ipv6.html">IPv6 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/tls.html">TLS support</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/ircv3.html">IRCv3 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/accounts.html">Account tracking in Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/pbkdf2info.html">Encryption/Hashing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/python.html">Using the Python Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/twitchinfo.html">Twitch</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/tricks.html">Advanced Tips</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/text-sub.html">Textfile Substitutions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/tcl-commands.html">Eggdrop Tcl Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/twitch-tcl-commands.html">Eggdrop Twitch Tcl Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/patch.html">Patching Eggdrop</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Tutorials</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/setup.html">Setting Up Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firststeps.html">Common First Steps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tlssetup.html">Enabling TLS Security on Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/userfilesharing.html">Sharing Userfiles</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firstscript.html">Writing an Eggdrop Tcl Script</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/module.html">Writing a Basic Eggdrop Module</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Eggdrop Modules</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../modules/index.html">Eggdrop Module Information</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/included.html">Modules included with Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/writing.html">How to Write an Eggdrop Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/internals.html">Eggdrop Bind Internals</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">About Eggdrop</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../about/about.html">About Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../about/legal.html">Boring legal stuff</a></li>
</ul>
<div role="search">
<h3 style="margin-top: 1.5em;">Search</h3>
<form class="search" action="../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="readme">
<h1>README<a class="headerlink" href="#readme" title="Link to this heading">¶</a></h1>
<blockquote>
<div><p>Please, at least SKIM this document before asking questions. In fact,
READ IT if you’ve never successfully set up an Eggdrop bot before.</p>
</div></blockquote>
<section id="notice">
<h2>Notice<a class="headerlink" href="#notice" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Make SURE that you select your +n (owner) users wisely. They have 100%
access to your bot and account. ONLY GIVE THIS POWER TO SOMEONE YOU
TRUST COMPLETELY!</p>
</div></blockquote>
</section>
<section id="what-is-eggdrop">
<h2>What is Eggdrop?<a class="headerlink" href="#what-is-eggdrop" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Eggdrop is the world’s most popular Internet Relay Chat (IRC) bot; it is
freely distributable under the GNU General Public License (GPL). Eggdrop
is a feature-rich program designed to be easily used and expanded upon by
both novice and advanced IRC users on a variety of hardware and software
platforms.</p>
<p>An IRC bot is a program that sits on an IRC channel and performs automated
tasks while looking just like a normal user on the channel. Some of these
functions include protecting the channel from abuse, allowing privileged
users to gain op or voice status, logging channel events, providing
information, hosting games, etc.</p>
<p>One of the features that makes Eggdrop stand out from other bots is module
and Tcl and Python scripting support. With scripts and modules you can
make the bot perform almost any task you want. They can do anything: from
preventing floods to greeting users and banning advertisers from channels.</p>
<p>You can also link multiple Eggdrop bots together to form a botnet. This
can allow bots to op each other securely, control floods efficiently and
even link channels across multiple IRC networks. It also allows the
Eggdrops share user lists, ban/exempt/invite lists, and ignore
lists with other bots if userfile sharing is enabled. This allows users
to have the same access on every bot on your botnet. It also allows the
bots to distribute tasks such as opping and banning users. See doc/BOTNET
for information on setting up a botnet.</p>
<p>Eggdrop is always being improved and adjusted because there are bugs to
be fixed and features to be added (if the users demand them and they make
actually sense). In fact, it existed for several years as v0.7 - v0.9
before finally going 1.0. This version of Eggdrop is part of the 1.9 tree.
A valiant effort has been made to chase down and destroy bugs.</p>
<p>This README file contains information about how to get Eggdrop, command
line options for Eggdrop, what you may need to do when upgrading from
older versions, a list of frequently asked questions, how to set up a
crontab, some boring legal stuff, some basics
about git usage and some channels where you might get help with Eggdrop.</p>
</div></blockquote>
</section>
<section id="how-to-get-eggdrop">
<h2>How to Get Eggdrop<a class="headerlink" href="#how-to-get-eggdrop" title="Link to this heading">¶</a></h2>
<p>There are two official methods to download Eggdrop source code. Alternately, Eggdrop also comes as a docker image.</p>
<section id="ftp">
<h3>FTP<a class="headerlink" href="#ftp" title="Link to this heading">¶</a></h3>
<blockquote>
<div><p>The latest Eggdrop stable source code is always located at <a class="reference external" href="https://geteggdrop.com">https://geteggdrop.com</a>. You can also download the current stable, previous stable, and development snapshot at <a class="reference external" href="https://ftp.eggheads.org/pub/eggdrop/source">https://ftp.eggheads.org/pub/eggdrop/source</a></p>
</div></blockquote>
</section>
<section id="git-development-snapshot">
<h3>Git Development Snapshot<a class="headerlink" href="#git-development-snapshot" title="Link to this heading">¶</a></h3>
<blockquote>
<div><p>Eggdrop developers use git to manage the Eggdrop codebase for development. If you are interested in trying out the VERY LATEST updates to Eggdrop, you can use git to obtain most recent code from the Eggheads repository. BE WARNED, the development branch of Eggdrop is not to be considered stable and may (haha) contain significant bugs still being worked on.</p>
<p>To obtain Eggdrop via the git repository (hosted by GitHub), you can
either clone the repository via git or download a development snapshot.</p>
<p>To clone the repository, simply type:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">eggheads</span><span class="o">/</span><span class="n">eggdrop</span><span class="o">.</span><span class="n">git</span>
</pre></div>
</div>
<p>Otherwise, you can download the development snapshot as a tar archive
from:</p>
<blockquote>
<div><p><a class="reference external" href="https://github.com/eggheads/eggdrop/archive/develop.tar.gz">https://github.com/eggheads/eggdrop/archive/develop.tar.gz</a></p>
</div></blockquote>
</div></blockquote>
</section>
<section id="docker">
<h3>Docker<a class="headerlink" href="#docker" title="Link to this heading">¶</a></h3>
<blockquote>
<div><p>You can pull the official Eggdrop Docker image via:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">pull</span> <span class="n">eggdrop</span><span class="p">:</span><span class="n">latest</span>
</pre></div>
</div>
<p>Additional Eggdrop Docker documentation can be found at <a class="reference external" href="https://hub.docker.com/_/eggdrop">https://hub.docker.com/_/eggdrop</a></p>
</div></blockquote>
</section>
</section>
<section id="system-pre-requisites">
<h2>System Pre-Requisites<a class="headerlink" href="#system-pre-requisites" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Before you can compile Eggdrop, Tcl must be installed on your system. Many systems have Tcl installed on them by default (you can check by trying the command “tclsh”; if you are given a ‘%’ for a prompt, it is, and you can type ‘exit’ to exit the Tcl shell. However, Eggdrop also requires the Tcl development header files to be installed. They can often be installed via an OS package manager, usually called something similar to ‘tcl-dev’ for the package name. You can also download Tcl source from <a class="reference external" href="https://www.tcl.tk/software/tcltk/download.html">https://www.tcl.tk/software/tcltk/download.html</a>.</p>
<p>Eggdrop also requires openssl (and its development headers) in order to enable SSL/TLS protection of network data. The header files are often called something similar to ‘libssl-dev’. While not advised, this requirement can be removed by compiling using <code class="docutils literal notranslate"><span class="pre">./configure</span> <span class="pre">--disable-tls</span></code>, but you will not be able to connect to TLS-protected IRC servers nor utilize secure botnet communication.</p>
</div></blockquote>
</section>
<section id="minimum-requirements">
<h2>Minimum Requirements<a class="headerlink" href="#minimum-requirements" title="Link to this heading">¶</a></h2>
<p>Some components of Eggdrop relies on a variety of third-party libraries, documented here.</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Functionality</p></th>
<th class="head"><p>Package</p></th>
<th class="head"><p>Minimum Version</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>Tcl interpreter (required)</p></td>
<td><p>Tcl Dev Library</p></td>
<td><p>8.5.0</p></td>
</tr>
<tr class="row-odd"><td><p>Secure communication</p></td>
<td><p>OpenSSL</p></td>
<td><p>0.9.8</p></td>
</tr>
<tr class="row-even"><td><p>Python module</p></td>
<td><p>Python</p></td>
<td><p>3.8.0</p></td>
</tr>
<tr class="row-odd"><td><p>Compression module</p></td>
<td><p>zlib</p></td>
<td><p>Any</p></td>
</tr>
</tbody>
</table>
</section>
<section id="quick-startup">
<h2>Quick Startup<a class="headerlink" href="#quick-startup" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Please see the <a class="reference external" href="install.html">Install</a> file after you finish reading this file.</p>
</div></blockquote>
</section>
<section id="upgrading">
<h2>Upgrading<a class="headerlink" href="#upgrading" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>The upgrade process for Eggdrop is very simple, simply download the new source code and repeat the compile process. You will want to read the NEWS for any new configuration file settings you want to add. Please see <a class="reference external" href="upgrading.html">Upgrading</a> for full details.</p>
</div></blockquote>
</section>
<section id="command-line">
<h2>Command Line<a class="headerlink" href="#command-line" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Eggdrop has some command line options - not many, because most things
should be defined through the config file. However, sometimes you may
want to start up the bot in a different mode and the command line
options let you do that. Basically, the command line for Eggdrop is:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">eggdrop</span> <span class="p">[</span><span class="n">options</span><span class="p">]</span> <span class="p">[</span><span class="n">config</span><span class="o">-</span><span class="n">file</span><span class="p">]</span>
</pre></div>
</div>
<p>The options available are:</p>
<blockquote>
<div><dl class="simple">
<dt>-t: Don’t background, use terminal. Your console will drop into an</dt><dd><p>interactive partyline session, similar to a DCC chat with the bot.
This is useful for troubleshooting connection issues with the bot.</p>
</dd>
<dt>-c: Don’t background, show channel info. Every 10 seconds your screen</dt><dd><p>will clear and you will see the current channel status, sort of
like “top”.</p>
</dd>
<dt>-m: Create userfile. If you don’t have a userfile, this will make Eggdrop</dt><dd><p>create one and give owner status to the first person that introduces
himself or herself to it. You’ll need to do this when you first set
up your bot.</p>
</dd>
</dl>
<p>-h: Show help, then quit.</p>
<p>-v: Show version info, then quit.</p>
</div></blockquote>
<p>Most people never use any of the options except -m and you usually only
need to use that once.</p>
</div></blockquote>
</section>
<section id="auto-starting-eggdrop">
<h2>Auto-starting Eggdrop<a class="headerlink" href="#auto-starting-eggdrop" title="Link to this heading">¶</a></h2>
<p>Systems go down from time to time, taking your Eggdrop along with it. You may not be not around to restart it manually, so you can instead use features of the operating system to automatically restart Eggdrop should it quit for any reason. Eggdrop comes with an autobotchk shell script that can create either a systemd or crontab entry. The systemd option will monitor your Eggdrop and a) start it when the machine boots and b) restart the Eggdrop if it crashes for any reason. The (older) crontab option will check (by default) every 10 minutes to see if your Eggdrop is still running, and attempt to restart it if it is not.</p>
<blockquote>
<div><p>To auto-generate a systemd job, from the Eggdrop install directory, simply run:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">scripts</span><span class="o">/</span><span class="n">autobotchk</span> <span class="o"><</span><span class="n">Eggdrop</span> <span class="n">config</span> <span class="n">file</span><span class="o">></span> <span class="o">-</span><span class="n">systemd</span>
</pre></div>
</div>
<p>To auto-geneerate a script to check Eggdrop’s status and run it via a crontab entry, simply run:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">scripts</span><span class="o">/</span><span class="n">autobotchk</span> <span class="o"><</span><span class="n">Eggdrop</span> <span class="n">config</span> <span class="n">file</span><span class="o">></span>
</pre></div>
</div>
<p>This will crontab your bot using the default setup. If you want a list of autobotchk options, type ‘./autobotchk’. A crontab example with options would be:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">scripts</span><span class="o">/</span><span class="n">autobotchk</span> <span class="o"><</span><span class="n">Eggdrop</span> <span class="n">config</span> <span class="n">file</span><span class="o">></span> <span class="o">-</span><span class="n">noemail</span> <span class="o">-</span><span class="mi">5</span>
</pre></div>
</div>
<p>This would setup crontab to run the botchk every 5 minutes and not send you an email saying that it restarted your bot.</p>
</div></blockquote>
</section>
<section id="documentation">
<h2>Documentation<a class="headerlink" href="#documentation" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>We’re trying to keep the documentation up to date. If you feel that
anything is missing here or that anything should be added, etc, please
create an issue, or better yet a pull request, at
<a class="reference external" href="https://www.github.com/eggheads/eggdrop">https://www.github.com/eggheads/eggdrop</a> Thank you!</p>
</div></blockquote>
</section>
<section id="obtaining-help">
<h2>Obtaining Help<a class="headerlink" href="#obtaining-help" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>You can obtain help with Eggdrop in the following IRC channels:</p>
<blockquote>
<div><ul class="simple">
<li><p>Libera Chat - #eggdrop (official channel), #eggheads (development discussion)</p></li>
<li><p>DALnet - #eggdrop</p></li>
<li><p>EFnet - #egghelp</p></li>
<li><p>IRCnet - #eggdrop</p></li>
<li><p>QuakeNet - #eggdrop.support</p></li>
<li><p>Undernet - #eggdrop</p></li>
</ul>
</div></blockquote>
<p>If you plan to ask questions in any of the above channels, you should be
familiar with and follow IRC etiquette:</p>
<blockquote>
<div><ul class="simple">
<li><p>Don’t type using CAPITAL letters, colors or bold.</p></li>
<li><p>Don’t use “!” and “?” excessively.</p></li>
<li><p>Don’t /msg people without their permission.</p></li>
<li><p>Don’t repeat or paste more than 4 lines of text to the channel.</p></li>
<li><p>Don’t ask to ask- just state your question, along with any relevant details and error messages</p></li>
</ul>
</div></blockquote>
</div></blockquote>
<p>Copyright (C) 1997 Robey Pointer
Copyright (C) 1999 - 2025 Eggheads Development Team</p>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
</div>
<div class="footer-wrapper">
<div class="footer">
<div class="left">
<div role="navigation" aria-label="related navigaton">
<a href="../index.html" title="Eggdrop, an open source IRC bot"
>previous</a> |
<a href="install.html" title="Installing Eggdrop"
>next</a>
</div>
<div role="note" aria-label="source link">
</div>
</div>
<div class="right">
<div class="footer" role="contentinfo">
© Copyright 2025, Eggheads.
Last updated on Aug 15, 2025.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</div>
<div class="clearer"></div>
</div>
</div>
</body>
</html>
|