# Eggdrop 1.3.26 Bot

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

## Description
Eggdrop 1.3.26 is a standalone IRC bot designed to automate various tasks on an IRC network, including channel management, user interaction, and flood protection.

## Key Features
- **Channel Management**: Automates joining, parting, and kicking users from channels.
- **User Interaction**: Handles private messages, notices, and actions.
- **Flood Protection**: Protects against CTCP floods, join-part floods, and avalanche floods.
- **Botnet Communication**: Supports linking to other bots in a botnet for shared resources.
- **Scripting**: Extensive use of Tcl scripts for defining commands and automations.

## File Analysis
- **action.fix.tcl** — Handles formatting of actions (/.me) in private messages.
- **alltools.tcl** — Includes various utility functions and command descriptions.
- **compat.tcl** — Provides backward compatibility mappings for old Tcl functions.
- **getops-2.2d.tcl** — Script for requesting and giving ops to other bots within a botnet.
- **klined.tcl** — Handles k-lining (kicking) of the bot from IRC servers.
- **notes2.tcl** — Manages user notes, storing and displaying them periodically.
- **ques4.tcl** — Creates HTML files showing channel activity for monitoring purposes.
- **sentinel1.52.tcl** — Provides flood protection features for channels.
- **userinfo1.0.tcl** — Manages user information fields.
- **botcmd.c** — Handles commands that come across the botnet and update sharebots.
- **botmsg.c** — Formats messages to be sent on the botnet.
- **botnet.c** — Tracks bots in a chain, manages channel name associations, and handles pings.
- **chan.h** — Defines structures for channels and user records.
- **chanprog.c** — Manages server lists, timers, and tcl scripts.
- **cmds.c** — Handles non-IRC commands via DCC connections.
- **cmdt.h** — Contains command definitions and types.
- **dcc.c** — Manages activity on DCC sockets.
- **dccutil.c** — Provides utilities for sending formatted text over various connections.
- **eggdrop.h** — Compile-time settings for the bot.
- **flags.c** — Handles flag matching and conversion functions.
- **flags.h** — Defines flags and their usage.
- **lang.h** — Contains language support definitions.
- **language.c** — Provides language support code.
- **main.c** — Manages nick changes, flood detection, command line arguments, and signal handling.
- **match.c** — Implements wildcard matching functions.
- **mem.c** — Handles memory allocation and deallocation.
- **misc.c** — Manages logging, output queuing, help system, and MOTD display.
- **modules.c** — Supports code modules in the bot.
- **net.c** — Handles all raw network I/O.
- **patch.h** — Placeholder for patches.
- **proto.h** — Contains function prototypes used outside their own modules.
- **rfc1459.c** — Implements RFC 1459 compliance functions.
- **rfc1459.h** — Provides case-insensitive string comparison functions.
- **tandem.h** — Tracks tandem-bots in a chain and party-line members.
- **tcl.c** — Handles Tcl commands and initialization.
- **tcldcc.c** — Manages DCC-related Tcl stubs.
- **tclegg.h** — Contains command types for Tcl.
- **tclhash.c** — Manages bindings and procedures for msg/dcc/file commands.
- **tclmisc.c** — Provides Tcl stubs for file system commands and other non-Tcl functions.
- **tcluser.c** — Manages user-record-oriented Tcl commands.
- **userent.c** — Handles user entry handling, new-style user records.
- **userrec.c** — Contains functions to find and change user records.
- **users.c** — Manages ignores, userfile handling, and WHOIS matching.
- **users.h** — Structures and definitions used by users.c and userrec.c.
- **module.h** — Includes all necessary include files for modules.
- **modvals.h** — Defines hooks and values for module functions.
- **assoc.c** — Manages channel associations within the botnet.
- **bf_tab.h** — Blowfish P-box and S-box tables.
- **blowfish.c** — Implements encryption and decryption of passwords using Blowfish.
- **blowfish.h** — Defines constants and types for Blowfish encryption.
- **channels.c** — Supports channels withing the bot.
- **channels.h** — Contains functions for channel management.
- **cmdschan.c** — Handles commands from users via DCC that cause server interaction.
- **tclchan.c** — Manages Tcl commands related to channels.
- **userchan.c** — Manages user records and channel associations.