# irccat

**Category:** Standalone_Bot
**Original Author:** RJ (Unknown)

## Description
irccat is a standalone bot designed to send events to IRC channels from scripts or other applications, supporting various communication methods like TCP and HTTP.

## Key Features
- Supports sending messages via TCP port
- Handles IRC commands through custom command handlers
- Manages authentication for channel access
- Sends formatted messages with IRC codes

## File Analysis
- **command_handler.py** — handles custom commands by executing scripts.
- **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** — manages user authentication and channel access
- **command.go** — handles command execution and response limits
- **main.go** — entry point and main logic of the bot
- **colours.go** — defines IRC color codes
- **dispatcher.go** — dispatches messages to appropriate channels or users
- **irccat.json** — configuration file for irccat settings like IRC server details, command handlers, and HTTP listeners
- **generic.go** — handles generic HTTP POST requests
- **github.go** — processes GitHub webhook events
- **grafana.go** — handles Grafana alert notifications
- **httplistener.go** — manages HTTP listener configurations
- **templates.go** — defines templates for message formatting from webhooks and other sources
- **string.go** — utility functions for string manipulation
- **string_test.go** — test cases for string manipulation utilities
- **issue_comment.json** — example JSON payload for GitHub issue comments
- **issues.json** — example JSON payload for GitHub issues
- **pull_request.json** — example JSON payload for GitHub pull requests
- **push.json** — example JSON payload for GitHub push events
- **release.json** — example JSON payload for GitHub release events