# Eggdrop 1.4.4 Bot

**Category:** Eggdrop_Bot
**Original Author:** Robey Pointer (Eggheads)

## Description
This is a version of Eggdrop 1.4.4, an IRC bot designed for automated channel management and user interaction. It includes various scripts and utilities to handle commands, channel operations, and user interactions.

## Key Features
- **Command Handling**: Implements command triggers using `.me`, `/me`, and other actions.
- **User Management**: Supports user flags and ignores.
- **Channel Operations**: Manages channels with CTCP flood protection, join-part flood protection, and avalanche flood protection.
- **File Services**: Provides file serving capabilities via `fileserve` and `xdcc`.
- **Botnet Support**: Includes functionality for linking bots in a botnet to share resources.

## File Analysis
- **acconfig.h** — template file for autoheader configuration.
- **action.fix.tcl** — script to handle IRC actions (e.g., `/me`).
- **alltools.tcl** — collection of utility procedures and functions.
- **compat.tcl** — compatibility layer for old Tcl functions.
- **getops-2.2d.tcl** — bot-to-bot ops request handling.
- **klined.tcl** — handles k-lines by removing servers from the bot's list.
- **notes2.tcl** — manages user notes and indexing.
- **ques5.tcl** — generates web pages with URL conversion.
- **sentinel1.54.tcl** — flood protection system for Eggdrop 1.3.17+.
- **userinfo1.0.tcl** — provides user information commands.

- **botcmd.c** — handles botnet command processing and userfile transfer.
- **botmsg.c** — formats messages sent on the botnet.
- **botnet.c** — manages botnet connections, channel associations, and link operations.
- **chan.h** — common header for channel-related functions.
- **chanprog.c** — maintains server list and handles timers.
- **cmds.c** — processes user commands via DCC.
- **cmdt.h** — command definitions and structures.
- **dcc.c** — manages DCC socket activities.
- **dccutil.c** — utilities for DCC connections.
- **eggdrop.h** — compile-time settings for Eggdrop.
- **flags.c** — flag matching and conversion functions.
- **flags.h** — header for flags.
- **language.c** — language support code.
- **main.c** — core event handling, signal management, and command line arguments.
- **main.h** — includes most other include files.
- **match.c** — wildcard matching functions.
- **mem.c** — memory allocation and deallocation.
- **misc.c** — various utility functions like logging, queueing output, and help system.
- **modules.c** — support for modules in Eggdrop.
- **net.c** — raw network I/O handling.
- **patch.h** — header for adding patches to Eggdrop's version string.
- **proto.h** — prototypes for external functions.
- **rfc1459.c** — IRC protocol handling.
- **tandem.h** — header for tandem functionality.
- **tcl.c** — handles Tcl commands and initialization.
- **tcldcc.c** — Tcl stubs for DCC commands.
- **tclegg.h** — headers used by tcl.c and tclhash.c.
- **tclhash.c** — manages bindings and procedures.
- **tclhash.h** — header for tclhash.c.
- **tclmisc.c** — Tcl stubs for file system and other commands.
- **tcluser.c** — Tcl stubs for user record handling.
- **userent.c** — user entry handling.
- **userrec.c** — functions to find and change user records.
- **users.c** — manages ignores, auto-linking bots, and sending/receiving userfiles.
- **users.h** — structures and definitions used by users.c and userrec.c.
- **global.h** — RSAREF types and constants.
- **md5.h** — header for MD5 message-digest algorithm.
- **md5c.c** — implementation of the MD5 message-digest algorithm.
- **module.h** — module support headers.
- **modvals.h** — module values definitions.
- **assoc.c** — part of assoc.mod, handles association code.
- **bf_tab.h** — Blowfish P-box and S-box tables.
- **blowfish.c** — encryption and decryption using the Blowfish algorithm.
- **blowfish.h** — header for blowfish.mod.