# irccat

**Category:** Standalone_Bot
**Original Author:** Unknown

## Description
irccat is a standalone bot designed to interact with IRC channels by executing commands from users or other sources, forwarding HTTP requests to IRC messages, and handling TCP connections for sending messages.

## Key Features
- **Command Execution**: Executes external commands based on user input.
- **HTTP Listener**: Listens for HTTP POST requests and forwards them as IRC messages.
- **TCP Listener**: Accepts TCP connections and sends received messages to specified IRC channels.
- **Authentication**: Manages authorized users for command execution.
- **Logging**: Logs events such as command handling, channel joins, and partings.

## File Analysis
- **command_runner.py** — Script used to execute commands based on user input.
- **LICENSE** — GNU General Public License v3.0.
- **README.md** — Basic description of the project.
- **.travis.yml** — Configuration for continuous integration using Travis CI.
- **auth.go** — Handles authentication and authorization logic.
- **command.go** — Manages command execution and response handling.
- **main.go** — Main entry point of the application, setting up IRC and HTTP listeners.
- **irccat.json** — Configuration file defining server settings, channels, and command handlers.
- **generic.go** — Generic handler for HTTP POST requests.
- **grafana.go** — Handler specifically for Grafana alerts.
- **httplistener.go** — Handles both generic and Grafana alert HTTP listeners.
- **colours.go** — Provides color formatting functions for IRC messages.
- **tcplistener.go** — Manages TCP connections and sends received messages to IRC channels.