# Moon-Moon IRC Bot

**Category:** Standalone_Bot
**Original Author:** Charles Heywood

## Description
Moon-Moon is a standalone IRC bot written in MoonScript, which can be compiled into Lua bytecode for execution. It uses the cqueues library to manage asynchronous tasks and supports loading plugins through an `irc` module.

## Key Features
- Runs as a background service without human intervention.
- Supports logging with colored output.
- Connects to IRC servers using TLS if configured.
- Loads configuration from `.ini` files and plugin modules from the `plugins` directory.
- Manages user and channel state, including nicknames, modes, and channel joins/partitions.

## File Analysis
- **compile.sh** — Compiles MoonScript source code into Lua bytecode.
- **start.sh** — Starts the bot by compiling the source and running it.
- **LICENSE** — MIT License for the software.
- **README.md** — Documentation on the project, dependencies, and usage instructions.
- **.gitignore** — Ignores `.lua` files in version control.
- **irc.moon** — Core IRC connection and logging functionality.
- **logo** — ASCII art logo displayed at startup.
- **main.moon** — Main entry point for the bot, loading plugins and starting the event loop.
- **example.ini** — Example configuration file for connecting to an IRC server.
- **base.moon** — Base handler functions for common IRC events like JOIN, PART, and PING.
- **data.moon** — Data structures and handlers for managing user and channel state.