# Eggdrop 1.4.2 Core Bot Software

**Category:** Eggdrop_Bot
**Original Author:** Robey Pointer, Eggheads

## Description
Eggdrop is a versatile IRC bot designed to automate tasks on IRC networks. It supports channel management, user interaction, and network operations through a combination of Tcl scripts.

## Key Features
- **Channel Management**: Handles JOIN/LEAVE/KICK/OP/DEOP actions.
- **User Interaction**: Supports commands from users via DCC connections.
- **Botnet Support**: Manages linked bots across multiple servers.
- **Flood Protection**: Implements flood protection mechanisms.
- **File Services**: Provides file serving capabilities.

## File Analysis
- **acconfig.h** — Template for configuration files.
- **action.fix.tcl** — Fixes for handling IRC actions in DCC sessions and Telnet.
- **alltools.tcl** — Collection of utility functions used across the bot.
- **compat.tcl** — Compatibility layer for older Tcl scripts.
- **getops-2.2d.tcl** — Script for requesting and giving ops to other bots.
- **klined.tcl** — Handles k-lines by removing servers from the bot's list when detected.
- **notes2.tcl** — Provides note-taking functionality for users.
- **ques5.tcl** — Web scraping and indexing script.
- **sentinel1.54.tcl** — Flood protection system with CTCP simulation.
- **userinfo1.0.tcl** — Displays user information, such as nicknames and URLs.
- **botcmd.c** — Handles commands from the botnet.
- **botmsg.c** — Formats messages to be sent on the botnet.
- **botnet.c** — Manages the botnet structure and operations.
- **chan.h** — Common header for channel-related functions.
- **chanprog.c** — Maintains server lists, handles timers, and loads Tcl scripts.
- **cmds.c** — Handles commands from users via DCC connections.
- **cmdt.h** — Header file for command definitions.
- **dcc.c** — Manages activity on DCC sockets.
- **dccutil.c** — Utilities for sending formatted text over various types of connections.
- **eggdrop.h** — Compile-time settings for the bot.
- **flags.c** — Handles flag matching and conversion functions.
- **language.c** — Supports language translations within the bot.
- **main.c** — Core event handling, signal management, and command line arguments.
- **mem.c** — Memory allocation and deallocation.
- **misc.c** — Provides miscellaneous utility functions.
- **modules.c** — Handles support for modules in Eggdrop.
- **net.c** — Manages raw network I/O.
- **patch.h** — Header file for adding patches to the bot's version string.
- **proto.h** — Prototypes for external functions.
- **rfc1459.c** — Implements RFC 1459 protocol handling.
- **tcl.c** — Handles Tcl commands and initialization.
- **tclegg.h** — Header file used by Tcl-related modules.
- **tclhash.c** — Manages bindings and procedures for Tcl scripts.
- **tclmisc.c** — Provides miscellaneous Tcl functions.
- **tcluser.c** — Implements user record-oriented commands in Tcl.
- **userent.c** — Handles user entry management.
- **userrec.c** — Manages user flags and records.
- **users.c** — Tests, enforces, and manages ignores for users.