# Eggdrop 1.8.4rc2

**Category:** Eggdrop_Bot
**Original Author:** Unknown

## Description
Eggdrop is a bot for IRC networks that provides automated channel management, user interaction, and network services.

## Key Features
- **Automated Channel Management**: Joins channels, manages ops, and kicks/bans users.
- **User Interaction**: Handles private messages, DCC connections, and file transfers.
- **Network Services**: Provides flood protection, quota handling, and server klining.
- **Scripting Support**: Supports Tcl scripting for custom functionality.

## File Analysis
- **action.fix.tcl** — Fixes mIRC and telnet /me actions.
- **alltools.tcl** — Includes various utility procedures used by the bot.
- **botcmd.c** — Handles commands from a user via DCC.
- **botmsg.c** — Manages message formatting for different versions of bots.
- **botnet.c** — Tracks connected bots and manages channel associations.
- **chan.h** — Common header file for channel-related functions.
- **chanprog.c** — Manages server lists, revenge punishments, timers, and tcl script loading.
- **cmd_resolve.tcl** — Adds commands to resolve hostnames or IP addresses.
- **compat.tcl** — Maps old Tcl commands to new ones.
- **conf.py** — Configuration documentation for Eggdrop.
- **dct.c** — Handles DCC connections and file transfers.
- **dns.c** — Provides DNS resolution support.
- **eggdrop.h** — Compile-time settings for the bot.
- **flags.c** — Handles flag matching and conversion functions.
- **getops.tcl** — Script for requesting and giving ops to other bots in a botnet.
- **klined.tcl** — Manages klines by removing servers from the bot's list when detected.
- **match.c** — Implements wildcard matching and hostmask matching.
- **misc.c** — Handles logging, queueing output, and help system.
- **modules.c** — Supports loading and managing modules in Eggdrop.
- **net.c** — Manages raw network I/O.
- **proto.h** — Prototypes for external functions used by various modules.
- **rfc1459.c** — Implements RFC 1459 protocol handling.
- **stat.h** — File attribute management.
- **tcl.c** — Handles Tcl commands and initialization.
- **tclegg.h** — Header file for tcl-related utilities.
- **tclhash.c** — Manages Tcl bindings and variable lookups.
- **tls.c** — Provides TLS support functions.
- **userent.c** — Handles user entry management.
- **users.c** — Manages user records, ignores, and userfile transfers.