# Eggdrop 1.6.4 Core Bot Software

**Category:** Eggdrop_Bot
**Original Author:** Robey Pointer, Eggheads Development Team

## Description
Eggdrop 1.6.4 is a core IRC bot software designed to manage and automate tasks on IRC networks. It supports various functionalities such as channel management, user interaction, and network operations.

## Key Features
- **Channel Management**: Handles join, part, kick, and op commands.
- **User Interaction**: Supports user-specific commands and automations.
- **Network Operations**: Manages connections to other bots and servers.
- **Scripting**: Uses Tcl for scripting and binding events.

## File Analysis
- **acconfig.h** — Template file used by autoconf for generating configuration files.
- **mod.irc** — Configuration module for basic IRC support.
- **action.fix.tcl** — Fixes for handling DCC chat actions.
- **alltools.tcl** — Collection of various tools and scripts.
- **cmd_resolve.tcl** — Adds a command to resolve hostnames or IP addresses without blocking.
- **compat.tcl** — Compatibility layer for older Tcl functions.
- **getops.tcl** — Script for requesting and giving ops to other bots.
- **klined.tcl** — Handles k-lines by removing servers from the bot's list when detected.
- **notes2.tcl** — Provides a notes system for keeping track of user information.
- **ques5.tcl** — Manages web file indexing and retrieval.
- **sentinel.tcl** — Flood protection system with BitchX CTCP simulation.
- **userinfo.tcl** — Handles user information queries.

- **bg.c** — Handles background process management.
- **bg.h** — Header for background process functions.
- **botcmd.c** — Manages botnet commands and userfile transfers.
- **botmsg.c** — Formats messages sent on the botnet.
- **botnet.c** — Tracks connected bots, channel associations, and pings.
- **chan.h** — Common header file for channel-related operations.
- **chanprog.c** — Handles various programming tasks related to channels.
- **cmds.c** — Manages commands from users via DCC sockets.
- **cmdt.h** — Prototypes for built-in commands.
- **dcc.c** — Handles activity and disconnects on DCC sockets.
- **dccutil.c** — Provides functions for sending formatted text over various connections.
- **dns.c** — DNS resolve calls and event handling.
- **eggdrop.h** — Compile-time settings for Eggdrop.
- **flags.c** — Matching and conversion of flags.
- **flags.h** — Header file for flag matching.
- **language.c** — Handles language support.
- **main.c** — Core event handling, signal handling, command line arguments.
- **main.h** — Main include file for other headers.
- **match.c** — Wildcard matching functions.
- **mem.c** — Memory allocation and deallocation.
- **misc.c** — Miscellaneous utilities like logging, queueing output, help system.
- **misc_file.c** — File copy and move operations.
- **modules.c** — Support for modules in Eggdrop.
- **net.c** — Handles raw network I/O.
- **patch.h** — Header for adding patches to the version string.
- **proto.h** — Prototypes for functions used outside their own module.
- **rfc1459.c** — RFC 1459 compliant IRC protocol handling.
- **stat.h** — File attributes.
- **tandem.h** — Header file for tandem operations.
- **tcl.c** — Handles Tcl commands and initialization.
- **tcldcc.c** — Tcl stubs for DCC commands.
- **tclegg.h** — Stuff used by tcl.c and tclhash.c.
- **tclhash.c** — Handles bindings, procedures lookups.
- **tclhash.h** — Header file for tclhash.c.
- **tclmisc.c** — Tcl stubs for file system commands.
- **tcluser.c** — Tcl stubs for user-record-oriented commands.
- **userent.c** — User entry handling.
- **userrec.c** — Functions to find and change user records.
- **users.c** — Handles testing, enforcing ignores, adding/removing ignores.
- **users.h** — Structures and definitions used by users.c and userrec.c.

- **compat.h** — Header for compatibility functions.
- **gnu_strftime.c** — GNU C Library function implementation.
- **inet_aton.c** — Provides inet_aton() if necessary.
- **inet_aton.h** — Prototypes for inet_aton.c.