# Moon-Moon IRC Bot

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

## Description
Moon-Moon is an IRC bot written in Lua using MoonScript for its scripting language, built to handle various IRC events and automate tasks such as joining channels, sending messages, and managing user permissions.

## Key Features
- **IRC Connection Handling**: Connects to IRC servers and handles authentication.
- **Channel Management**: Joins specified channels on startup.
- **Message Parsing**: Processes incoming messages for commands or events.
- **User Authentication**: Manages nicknames and usernames with basic access controls.
- **Event Handlers**: Implements handlers for various IRC events like JOIN, PART, and PRIVMSG.

## File Analysis
- **compile.sh** — Compiles MoonScript files into Lua bytecode using `moonc` and `luac`.
- **setup_dev_environment.sh** — Sets up a development environment with tmux splits for monitoring and editing.
- **start.sh** — Starts the bot by compiling scripts and displaying a logo before running the main script.
- **LICENSE** — MIT License, granting permission to use and modify the software.
- **README.md** — Documentation on project setup, dependencies, and usage instructions.
- **irc.lua** — Core IRC connection logic and event handling in Lua.
- **irc.moon** — Core IRC connection logic written in MoonScript.
- **logo** — ASCII art logo for the bot.
- **main.lua** — Main script that loads plugins and configurations to start the bot.
- **main.moon** — Main script written in MoonScript, similar functionality to `main.lua`.
- **example.ini** — Example configuration file for the bot's settings.
- **base.lua** — Base module providing default handlers for IRC events like JOIN, PART, and 001 (welcome).
- **base.moon** — Base module written in MoonScript with the same functionality as `base.lua`.
- **data.lua** — Additional data handling logic including user and channel management.
- **data.moon** — Additional data handling logic written in MoonScript.