# irccat

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

## Description
irccat is a standalone bot for sending events to IRC channels from scripts or other applications via TCP, HTTP, or command triggers.

## Key Features
- Sends messages to IRC channels using TCP, HTTP, and command triggers.
- Supports TLS connections to IRC servers.
- Handles configuration reloads and channel joins.
- Executes commands passed through IRC with a handler script.
- Limits the number of lines in command responses.
- Manages authorized users for command execution.

## File Analysis
- **command_runner.py** — Script that handles command execution from IRC, passing arguments to an external handler.
- **LICENSE** — GNU General Public License v3.0.
- **README.md** — Documentation on installation and usage of irccat.
- **.travis.yml** — Configuration for continuous integration using Travis CI.
- **auth.go** — Authentication logic for command execution.
- **command.go** — Handles IRC commands, executes them with a handler script, and limits response lines.
- **main.go** — Main entry point for the irccat bot, handling configuration reloads, TCP listener, HTTP listener, and IRC connections.
- **irccat.json** — Configuration file for irccat settings such as server details, channels, command handlers, and TLS options.
- **generic.go** — Generic handler for HTTP requests to send messages to IRC.
- **grafana.go** — Specific handler for Grafana alerts sent via HTTP.
- **httplistener.go** — Handles HTTP listeners for sending messages or receiving alerts from services like Grafana.
- **colours.go** — Maps IRC color codes to ANSI escape sequences.
- **tcplistener.go** — Listens for TCP connections and sends messages to specified IRC channels.