eggdrop(1)

πŸ’– eggdrop β€” an IRC bot πŸ’–

okay so you're looking at the eggdrop(1) manual page, from the IRC Tools section, and bestie. you are in for a treat. this is the whole thing, every flag, every signal, no skips, periodt. πŸ’…


✨ NAME ✨

eggdrop β€” an IRC bot πŸ¦‹


🌸 SYNOPSIS 🌸

eggdrop [options] [config-file]

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so first thing you need to know: Eggdrop is the world's most popular Internet Relay Chat (IRC) bot. like, THE one. it's freely distributable under the GNU General Public License (GPL), which is giving generous icon behavior. and it's a feature-rich program designed to be easily used and expanded upon by both novice and advanced IRC users, across a whole variety of hardware and software platforms. everyone's invited fr fr. 🫢

so like. what even is an IRC bot? bestie. 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. main character behavior but automated. πŸ’… 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. (the etc is doing so much heavy lifting here)

now the thing that makes Eggdrop stand out from other bots? module and Tcl 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. literally anything, no cap. ✨

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 to share user lists, ban lists, 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 /usr/share/doc/eggdrop/BOTNET for information on setting up a botnet. πŸ‘‘

Eggdrop needs a config file to run. for an example, have a look at eggdrop.conf, which is distributed with Eggdrop. it's giving required reading, bestie. πŸ“–


πŸŽ€ OPTIONS πŸŽ€

  • -h β€” Display a list of command-line options. the little "help me help you" moment πŸ’–
  • -n β€” Don't background. normally, Eggdrop will move itself into the background when you start it up, meaning you'll get another shell prompt, and you can do other things while the bot is running. with -n, you won't return to the shell prompt until the bot exits (which won't normally happen until it's killed). by default, -n will send all log entries to the console. πŸ–₯️
  • -t β€” Don't background, use terminal. this is just like -n, except that instead of seeing log entries, your console will simulate a DCC chat with the bot. bestie it's a whole conversation 😭
  • -c β€” Don't background, show channel info. this is just like -n, except that instead of seeing log entries, every 10 seconds your screen will clear and you will see the current channel status, sort of like "top". 🌈
  • -m β€” Create userfile. if you don't have a userfile, this will make Eggdrop 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. the first-person-to-say-hi-gets-the-crown pipeline is so iconic πŸ‘‘
  • -v β€” Show version info and exit. quick lil peek, then gone πŸ’¨

πŸ’€ SIGNALS πŸ’€

SIGCHLD

this signal is ignored by Eggdrop and can be used to determine whether it's running or not. vibe check via signal, lowkey genius. πŸ™ˆ

SIGTERM

by default Eggdrop will save its user and channel file and die. a script can override the default handler by registering with the EVNT bind and returning 1.

SIGHUP

by default Eggdrop will rehash (reload its config file). a script can override the default handler by registering with the EVNT bind and returning 1.

SIGQUIT

by default Eggdrop will restart. a script can override the default handler by registering with the EVNT bind and returning 1.

so like, all three of the "a script can override" ones? same deal: register with the EVNT bind and return 1. do not forget the 1. the 1 is load-bearing. 🫠

🧚 ENVIRONMENT VARIABLES 🧚

  • EGG_LANG β€” this variable can be set to the language in which you want Eggdrop to speak to you. it defaults to English, but Danish, Finnish, French, German, Italian and Portuguese are supported, too. polyglot queen πŸŒπŸ’–
  • EGG_LANGDIR β€” specifies the directory where all your language files are stored. the default is /usr/share/eggdrop/language. πŸ“

🌟 SEE ALSO 🌟

tclsh(1), irc(1), ircII(1), ircd(8)

there is extensive online documentation. once you get the bot running, open a DCC chat with it, and type:

.help

in addition, the files in the /usr/share/doc/eggdrop/ directory provide detailed information about how Eggdrop works and how to use it. go read, bestie, it's good for you πŸ“šβœ¨


πŸ’œ AUTHORS πŸ’œ

written by Robey Pointer, the Eggheads Development Team and various others. see the files AUTHORS for a list of Eggdrop developers and major contributors, THANKS for a full list of Eggdrop contributors, and the /usr/share/doc/eggdrop/Changes files for a list of changes made to each version of Eggdrop. credit where credit is due, always 🫢


😭 REPORTING BUGS 😭

see /usr/share/doc/eggdrop/BUG-REPORT.

bugs can be reported directly via GitHub at https://github.com/eggheads/eggdrop/issues. no cap, they wanna hear from you πŸ”₯


Copyright (C) 1997 Robey Pointer
Copyright (C) 1999 - 2025 Eggheads Development Team

this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details.

you should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

okay that's a lot of capital letters but bestie they MEAN it. no warranty. read it and weep (affectionately). πŸ’€

and that's the whole page, start to finish, nothing skipped πŸ’– this lil masterpiece was brought to you by the Eggheads Development Team, dated March 2023, and it's the eggdrop(1) page β€” slay, bye, go run your bot πŸ¦‹βœ¨πŸ’…

πŸ“¦ where this page comes from
  • epel 10: eggdrop 1.10.2-1.el10_3 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • epel 9: eggdrop 1.10.2-1.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • fedora 43: eggdrop 1.10.1-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • fedora 43: eggdrop 1.10.2-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • fedora 44: eggdrop 1.10.1-2.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • fedora 44: eggdrop 1.10.2-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms