# Eggdrop 0.9m Bot

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

## Description
Eggdrop 0.9m is a full-featured IRC bot that can manage channels, handle user access levels, and perform various automated tasks such as file transfers and CTCP responses.

## Key Features
- **Channel Protection**: Manages channel modes and bans.
- **User Management**: Tracks and manages user records with flags like OP, MASTER, and KICK.
- **File Transfer Services**: Supports DCC (Direct Client-to-Client) file transfers.
- **CTCP Handling**: Responds to CTCP commands.
- **Scripting Support**: Uses Tcl for scripting custom behaviors.

## File Analysis
- **chan.c** — Implements channel management functions.
- **chan.h** — Defines structures and constants used in channel operations.
- **chanprog.c** — Handles startup configuration for channels.
- **cmds.c** — Manages commands from users.
- **dcc.c** — Implements DCC file transfer functionality.
- **edit.c** — Contains an internal editor, though it is deprecated.
- **eggdrop.h** — Main header file defining constants and structures used throughout the bot.
- **files.c** — Manages file operations for the bot.
- **gotdcc.c** — Handles incoming DCC connections.
- **hash.c** — Implements hashing functions for command handling.
- **main.c** — Contains main server communication logic.
- **mem.c** — Manages memory usage and debugging.
- **misc.c** — Handles miscellaneous tasks like logging, helpbot responses, and queued output.
- **mode.c** — Manages channel modes.
- **msgcmds.c** — Responds to message commands from users.
- **msgnotice.c** — Handles messages, notices, and CTCP replies.
- **net.c** — Network functions for the bot.
- **proc.c** — Process handling for various tasks like DCC connections and shell commands.
- **reg.c** — Implements regular expression matching for user records.
- **tandcmd.c** — Functions related to tandem bots.
- **tcl.c** — Integrates Tcl scripting support.
- **tclhash.c** — Manages dynamic command additions via Tcl.
- **userrec.c** — Handles user data manipulation.
- **users.c** — Implements user record management.
- **users.h** — Defines structures and constants for user records.
- **dcc.save** — Script to save the user list manually.
- **README** — Instructions for setting up and compiling the bot.
- **README.botnet** — Documentation on setting up a botnet.
- **FEATURES** — List of features provided by Eggdrop 0.9m.
- **Makefile** — Build configuration file.
- **UPDATES** — Log of changes made to the bot.
- **botchk** — Script for checking if the bot is running and reloading it if necessary.
- **botkick** — Example script demonstrating how to add commands via Tcl.
- **compat** — Scripts to implement compatibility with old commands.
- **egg.config.dist** — Default configuration file for bots compiled without Tcl support.
- **eggstat** — Utility to dump statistics about user records.
- **lamestbot** — Sample configuration file for bots compiled with Tcl support.
- **nets** — List of known botnets and their connections.
- **samples** — Example scripts to use with the bot.
- **weed** — Script to clean up user records.