# Eggdrop 1.3.3 Bot

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

## Description
Eggdrop 1.3.3 is a standalone IRC bot designed for automated channel management, user interaction, and network operations. It includes various scripts and tools to handle commands, automations, and security features.

## Key Features
- **Commands and Automations**: Handles commands like `.me`, `.putmsg`, `.putnotc`, `.putchan`, and `.putact` for sending messages.
- **User Management**: Supports user flags and operations such as bans and un-bans.
- **Channel Operations**: Manages channel modes, kicks, and ops.
- **Network Interaction**: Includes flood detection and handling.
- **Scripting Support**: Utilizes TCL scripts for complex logic and automations.

## File Analysis
- **action.fix.tcl** — Handles action messages in IRC.
- **alltools.tcl** — A collection of various tools and commands for the bot.
- **getops-1.8.tcl** — A script to handle un-banning bots if they get k-lined.
- **klined.tcl** — Manages k-lines by removing servers from the bot's list when detected.
- **ques4.tcl** — Creates HTML files with channel information periodically.
- **userinfo1.0.tcl** — Enhances `whois` output for user information.
- **botcmd.c** — Handles commands that come across the botnet and updates from sharebots.
- **botmsg.c** — Formats messages to be sent on the botnet.
- **botnet.c** — Manages the botnet connections, pings, and link/unlink operations.
- **chan.h** — Defines structures for channel management.
- **chanprog.c** — Handles server list maintenance, revenge punishment, timers, and tcl script loading.
- **cmds.c** — Manages commands from users via DCC.
- **cmdt.h** — Contains command definitions and functions.
- **dcc.c** — Manages activity on DCC sockets.
- **dccutil.c** — Handles various DCC-related functions like formatted text sending and timeout checking.
- **eggdrop.h** — Compile-time settings for the bot.
- **flags.c** — Manages user flags and their matching logic.
- **flags.h** — Defines flag records and constants.
- **lang.h** — Language support definitions.
- **language.c** — Implements language support code.
- **main.c** — Handles nickname changes, flood detection, command line arguments, and signal handling.
- **match.c** — Provides wildcard matching functions.
- **mem.c** — Manages memory allocation and deallocation.
- **misc.c** — Handles logging, queueing output, resync buffers for sharebots, help system, and MOTD display.
- **modules.c** — Supports code modules in eggdrop.
- **net.c** — Handles raw network I/O.
- **patch.h** — Placeholder for patches.
- **proto.h** — Contains function prototypes used outside their own module.
- **tandem.h** — Manages tandem-bot connections and party-line members.
- **tcl.c** — Handles Tcl commands, initialization, and variable manipulation.
- **tcldcc.c** — Implements DCC-related Tcl commands.
- **tclegg.h** — Prototypes for tcl.c and tclhash.c.
- **tclhash.c** — Manages bindings and procedures for msg/dcc/file commands.
- **tclmisc.c** — Handles file system and other Tcl commands.
- **tcluser.c** — Implements user-record-oriented Tcl commands.
- **userent.c** — Handles user entry handling.
- **userrec.c** — Manages user records, flags, and operations.
- **users.c** — Manages users, ignores, and channel associations.
- **users.h** — Structures and definitions for users and channels.
- **module.h** — Contains module-related structures.
- **modvals.h** — Defines hooks and values for modules.
- **assoc.c** — Handles channel name-number associations.
- **blowfish.c** — Implements encryption and decryption of passwords using the Blowfish algorithm.
- **blowfish.h** — Defines constants and unions for the Blowfish algorithm.
- **channels.c** — Supports channels within the bot.
- **channels.h** — Contains definitions for channels.
- **console.c** — Manages console settings based on `console.tcl`.
- **ctcp.c** — Handles CTCP commands.
- **ctcp.h** — Defines constants and features for CTCP handling.
- **filedb.c** — Low-level manipulation of filesystem database files.
- **files.c** — Implements file system commands.
- **files.h** — Structures and definitions for file management.