# Eggdrop 0.9n Bot

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

## Description
Eggdrop is a standalone IRC bot that provides channel protection, user management, and various automation features such as file transfers and CTCP handling.

## Key Features
- **Channel Protection**: Manages channel modes (+o, +v) and protects against mass deops.
- **User Management**: Allows adding, removing, and modifying users with different access levels.
- **File Transfer Handling**: Supports DCC (Direct Client-to-Client) file transfers.
- **CTCP Handling**: Processes CTCP commands for status, version, and other queries.
- **TCL Scripting**: Extensible via TCL scripts to add custom functionality.

## File Analysis
- **chan.c** — Implements channel management functions.
- **chan.h** — Defines structures and constants used in channel operations.
- **chanprog.c** — Handles channel programming and ban management.
- **cmds.c** — Manages commands from users, including talk and info queries.
- **dcc.c** — Implements DCC (Direct Client-to-Client) functionality.
- **edit.c** — Built-in editor for the bot configuration.
- **files.c** — Manages file downloads via DCC.
- **gotdcc.c** — Handles incoming CTCP-DCC requests.
- **hash.c** — Processes hashed commands and CTCP messages.
- **main.c** — Main server communication and startup functions.
- **mem.c** — Memory management for the bot.
- **misc.c** — Miscellaneous functions, including logging and helpbot handling.
- **mode.c** — Manages channel modes and deops.
- **msgcmds.c** — Handles message commands from users.
- **msgnotice.c** — Processes msg, notice, and CTCP messages.
- **net.c** — Network communication functions.
- **proc.c** — Process management for DCC connections and telnet links.
- **reg.c** — Registers new users and manages user flags.
- **tandcmd.c** — Functions for dealing with tandem bots.
- **tcl.c** — TCL integration for adding custom commands.
- **tclhash.c** — Adds commands via TCL on the fly.
- **userrec.c** — User data manipulation functions.
- **users.c** — Manages user records and flags.
- **users.h** — Defines structures used in user management.
- **dcc.save** — Saves the user list to disk periodically.
- **README** — Instructions for compiling and configuring the bot.
- **FEATURES** — List of features provided by Eggdrop.
- **Makefile** — Build configuration file.
- **UPDATES** — Notes on updates and changes.
- **botchk** — Script to check if the bot is running and reload it if necessary.
- **botkick** — Example Tcl script for adding a "kick" command.
- **botnet.doc** — Documentation for setting up a botnet.
- **compat** — Scripts for compatibility with old commands.
- **egg.config.dist** — Default configuration file for bots compiled without TCL.
- **eggstat** — Utility to dump statistics about the userfile.
- **lamestbot** — Sample configuration file for bots compiled with TCL.
- **motd** — Message of the day file.
- **nets** — List of botnets using Eggdrop.
- **samples** — Example Tcl scripts for extending the bot's functionality.
- **tcl-commands.doc** — Documentation on extra commands added by Eggdrop.
- **weed** — Utility to clean up user records.