# irccat

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

## Description
irccat is a standalone bot designed to handle IRC commands through various protocols (TCP and HTTP) and execute them using external scripts or commands.

## Key Features
- Handles IRC commands via TCP and HTTP protocols.
- Executes commands from authorized users in specified channels.
- Supports command-line handlers for executing custom scripts.
- Monitors channel joins, parts, and names events to manage user authorizations.
- Sends responses back to the originating nick or channel based on configuration.

## File Analysis
- **command_runner.py** — Script handler for running external commands based on IRC commands.
- **LICENSE** — GNU General Public License v3.0.
- **README.md** — Documentation for a re-implementation of irccat in Go.
- **.travis.yml** — Configuration file for Travis CI to build and deploy the Go version of irccat.
- **auth.go** — Handles user authorizations based on channel events.
- **command.go** — Manages command handling, ensuring only authorized users can execute commands.
- **main.go** — Main entry point for the Go implementation of irccat.
- **irccat.json** — Configuration file defining server and listener settings, as well as IRC connection details.
- **generic.go** — HTTP handler to send messages to IRC channels.
- **grafana.go** — HTTP handler specifically for sending Grafana alerts.
- **httplistener.go** — Go package containing the HTTP listener logic.
- **colours.go** — Provides color formatting for text sent over TCP connections.
- **tcplistener.go** — Logic for handling TCP connections and parsing messages.