# irccat

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

## Description
irccat is a standalone bot that allows sending events to IRC channels from scripts or other applications via TCP or HTTP, and executing commands in response to IRC messages.

## Key Features
- **Command Handling**: Processes commands sent through IRC with environment variables.
- **TCP → IRC**: Sends strings to specified IRC channels over TCP.
- **HTTP → IRC**: Sends messages to IRC channels using an HTTP endpoint.
- **Shell Command Execution**: Executes shell commands based on IRC messages and sends the output back.

## File Analysis
- **command_handler.py** — Dispatches commands to individual shell scripts with environment variables.
- **LICENSE** — GNU General Public License v3.0.
- **README.md** — Documentation for irccat, including installation instructions and usage examples.
- **.travis.yml** — Configuration file for continuous integration using Travis CI.
- **auth.go** — Handles authentication of users in the IRC channel.
- **command.go** — Manages command handling logic.
- **main.go** — Main entry point of the application, initializes IRC connection and handles commands.
- **irccat.json** — Configuration file defining TCP and HTTP listeners, IRC server details, and command handler settings.
- **generic.go** — Handles generic HTTP requests for sending messages to IRC channels.
- **grafana.go** — Specifically handles Grafana alerts sent via the HTTP endpoint.
- **httplistener.go** — Manages HTTP listener setup and routing of HTTP requests.
- **colours.go** — Provides color codes for formatting messages.
- **tcplistener.go** — Handles TCP requests to send messages to IRC channels.