# Eggdrop 1.3.28 Botnet Script

**Category:** Eggdrop_Bot
**Original Author:** Tothwolf, guppy, cmwagner, David Sesno

## Description
Eggdrop 1.3.28 is a versatile IRC bot designed for automated channel management and network operations. It includes flood protection, user management, and various scripting capabilities to handle different IRC events.

## Key Features
- **User Management:** Auto-op, auto-deop, and other user-level permissions.
- **Channel Protection:** Flood detection and prevention, ban management.
- **Automated Actions:** Joining channels, kicking users, setting modes.
- **Scripting Capabilities:** TCL scripting for custom commands and events.

## File Analysis
- **action.fix.tcl** — Fixes `/me` actions in DCC chat and Telnet sessions.
- **alltools.tcl** — Collection of tools for sending messages, notices, and more.
- **bugreport.tcl** — Sends debug information to a server when the bot crashes or encounters issues.
- **compat.tcl** — Maps old TCL functions to new ones for backward compatibility.
- **getops-2.2d.tcl** — Script for requesting and giving ops across linked bots.
- **klined.tcl** — Automatically removes k-lined servers from the bot's list.
- **notes2.tcl** — Manages notes for users, creating HTML files to display them.
- **ques4.tcl** — Creates an HTML file showing current channel members with their user@host information.
- **sentinel1.54.tcl** — Flood protection system integrated with BitchX CTCP simulation.
- **userinfo1.0.tcl** — Provides detailed user information and URL indexing.

- **botcmd.c** — Handles commands from the botnet userfile transfer.
- **botmsg.c** — Formats messages for different versioned bots.
- **botnet.c** — Manages the botnet chain, including linking and un-linking.
- **chan.h** — Defines structures and constants related to channels.
- **chanprog.c** — Handles server list management, channel name associations, and timers.
- **cmds.c** — Handles commands from users via DCC.
- **cmdt.h** — Contains command definitions for built-in commands.
- **dcc.c** — Manages activity on DCC sockets.
- **dccutil.c** — Provides functions to send formatted text over different connections.
- **eggdrop.h** — Compile-time settings and includes necessary headers.
- **flags.c** — Handles flag matching and conversion.
- **flags.h** — Defines flags for users, bots, and channels.
- **language.c** — Language support code.
- **main.c** — Manages nick changes, flood detection, signal handling, and command line arguments.
- **mem.c** — Memory allocation and deallocation functions.
- **misc.c** — Handles split(), maskhost(), copyfile(), movefile(), fixfrom().
- **modules.c** — Supports code modules in Eggdrop.
- **modules.h** — Defines structures for module support.
- **net.c** — Handles raw network I/O.
- **patch.h** — Placeholder for patches and modifications.
- **proto.h** — Function prototypes used outside their own modules.
- **rfc1459.c** — Implements RFC 1459 case insensitivity.
- **rfc1459.h** — Defines functions for RFC 1459 compliance.
- **tandem.h** — Manages tandem-bots in the chain and party-line members.
- **tcl.c** — Handles TCL commands, initialization, and variable handling.
- **tcldcc.c** — Tcl stubs for DCC commands.
- **tclegg.h** — Used by tcl.c & tclhash.c.
- **tclhash.c** — Manages bindings and procedures in TCL.
- **tclhash.h** — Defines structures and functions for hash tables.
- **tclmisc.c** — Handles file system commands and other miscellaneous TCL functions.
- **tcluser.c** — Tcl stubs for user-record-oriented commands.
- **userent.c** — User-entry handling, new style with more versatility.
- **userrec.c** — Functions to find and change user records.
- **users.c** — Handles ignores, userfile management, and WHOIS matching.
- **users.h** — Structures and definitions used by users.c & userrec.c.
- **assoc.c** — Manages channel associations within the bot.
- **blowfish.c** — Handles encryption and decryption of passwords using Blowfish.
- **channels.c** — Supports channels within the bot, including ban management.
- **channels.h** — Defines structures for channel support.
- **cmdschan.c** — Handles commands from users via DCC that cause server interaction.
- **tclchan.c** — TCL functions for managing channels.