# Eggdrop 1.3.22 Bot

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

## Description
Eggdrop 1.3.22 is a standalone IRC bot that provides automation, user management, and channel control features using Tcl scripting.

## Key Features
- **User Management**: Implements flags and permissions for users.
- **Channel Control**: Supports joining, parting, kicking, and oping channels.
- **Botnet Support**: Handles connections to other bots in a chain.
- **Flood Protection**: Detects and handles flood attempts.
- **DCC File Services**: Manages file transfers via DCC.
- **Scripting**: Extensive Tcl scripting for custom commands and events.

## File Analysis
- **action.fix.tcl** — Filters and formats actions sent by users.
- **alltools.tcl** — Collection of tools for managing bot operations, including user flags and channel modes.
- **compat.tcl** — Compatibility layer to map old functions to new ones in Eggdrop 1.3.x.
- **getops-2.0.1.tcl** — Script for gaining operational rights on channels.
- **klined.tcl** — Handles k-lines by removing servers from the bot's list when detected.
- **notes2.tcl** — Manages and displays notes for users across shared bots.
- **ques4.tcl** — Creates HTML files showing channel activity.
- **userinfo1.0.tcl** — Allows users to set and display personal information.
- **botcmd.c** — Handles commands from the botnet userfile transfer.
- **botmsg.c** — Formats messages sent over the botnet.
- **botnet.c** — Manages connections and operations with other bots in the chain.
- **chan.h** — Defines structures for channel management.
- **chanprog.c** — Manages channels, modes, and settings.
- **cmds.c** — Handles non-IRC commands via DCC.
- **cmdt.h** — Contains command definitions and function pointers.
- **dcc.c** — Manages DCC connections and file transfers.
- **dccutil.c** — Utility functions for DCC operations.
- **eggdrop.h** — Compilation settings for Eggdrop.
- **flags.c** — Implements flag matching and conversion logic.
- **flags.h** — Defines flags and their usage.
- **lang.h** — Language support definitions.
- **language.c** — Provides language support functionality.
- **main.c** — Handles core functionalities like nickname changes, signal handling, and command line arguments.
- **match.c** — Implements wildcard matching for patterns.
- **mem.c** — Manages memory allocation and deallocation.
- **misc.c** — Handles miscellaneous functions like split() and copyfile().
- **modules.c** — Supports code modules in Eggdrop.
- **net.c** — Manages all raw network I/O operations.
- **patch.h** — Placeholder for patches to be added later.
- **proto.h** — Function prototypes used outside their own modules.
- **tandem.h** — Structures and functions related to tandem bots.
- **tcl.c** — Handles Tcl commands and initialization.
- **tcldcc.c** — Tcl stubs for DCC commands.
- **tclegg.h** — Definitions for Tcl command handling.
- **tclhash.c** — Manages bindings and procedures in Tcl.
- **tclmisc.c** — Tcl stubs for file system commands.
- **tcluser.c** — Handles user record-oriented commands in Tcl.
- **userent.c** — User entry handling with new-style more versatile entries.
- **userrec.c** — Functions to find and change user records, including flags.
- **users.c** — Manages users, ignores, and userfile operations.
- **users.h** — Structures and definitions used by users.c & userrec.c.
- **assoc.c** — Handles channel associations for the assoc module.
- **blowfish.c** — Implements encryption and decryption of passwords using Blowfish algorithm.
- **channels.c** — Supports channels within the bot, including modes and bans.
- **console.c** — Manages console settings based on console.tcl.
- **ctcp.c** — Handles CTCP commands.
- **filedb.c** — Low-level manipulation of filesystem database files.
- **files.c** — Handles file system commands.