# irccat

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

## Description
irccat is a standalone bot for sending events to IRC channels from scripts and other applications. It supports various event types such as TCP, HTTP, and can be configured to handle commands and alerts.

## Key Features
- Sends messages via TCP or HTTP to specified IRC channels.
- Handles generic HTTP endpoints for sending messages.
- Supports Grafana webhooks for alerting.
- Manages command handling through a custom handler script.
- Configurable authentication and authorization mechanisms.
- Formats IRC messages with ANSI color codes.

## File Analysis
- **command_handler.py** — handles commands sent to the bot, running scripts based on the command name.
- **LICENSE** — GNU General Public License v3.0.
- **README.md** — documentation for installing and using irccat.
- **.travis.yml** — configuration for continuous integration with Travis CI.
- **auth.go** — manages authentication and authorization of users.
- **command.go** — handles command execution and response limits.
- **main.go** — main entry point of the application, setting up IRC and HTTP listeners.
- **colours.go** — defines ANSI color codes for formatting messages.
- **dispatcher.go** — sends messages to IRC channels based on recipients.
- **irccat.json** — configuration file for irccat settings like IRC server details and command handling.
- **generic.go** — handles generic HTTP POST requests.
- **github.go** — handles GitHub webhooks for alerts.
- **grafana.go** — handles Grafana alert notifications.
- **tcplistener.go** — listens for TCP connections and sends messages to IRC channels.
- **string.go** — utility functions, including string truncation.
- **string_test.go** — test cases for the string utilities.
- **issue_comment.json**, **issues.json**, **pull_request.json**, **push.json**, **release.json** — JSON templates or examples used in webhooks handling.