# Cinch - An IRC Bot Building Framework

**Category:** Standalone_Bot
**Original Author:** Lee Jarvis, Dominik Honnef

## Description
Cinch is a Ruby-based framework for creating IRC bots with minimal effort. It provides a simple interface based on plugins and rules to automate various tasks in IRC channels.

## Key Features
- Automates channel management (joining, parting)
- Supports command triggers using `!` prefix
- Allows defining custom commands and their actions
- Provides basic logging and message handling

## File Analysis
- **LICENSE** — Grants permission to use the software with certain conditions.
- **README.md** — Documentation for Cinch, explaining its purpose and usage.
- **.gitignore** — Specifies files to be ignored by Git version control.
- **.yardopts** — Configuration options for YARD documentation generator.
- **Rakefile** — Defines tasks for building and testing the gem.
- **cinch.gemspec** — Metadata for packaging Cinch as a RubyGem.
- **autovoice.rb** — Automatically voices visitors in a channel when enabled.
- **google.rb** — Searches Google from within IRC using Nokogiri to parse results.
- **hello.rb** — Greets users with "Hello, [nick]" upon receiving the message "hello".
- **join_part.rb** — Allows admins to join and part channels.
- **memo.rb** — Stores messages for specific nicks and sends them back when triggered.
- **msg.rb** — Sends a private message from one user to another based on command input.
- **seen.rb** — Tracks when users were last seen in the channel.
- **urban_dict.rb** — Retrieves urban dictionary definitions using HTTP requests.
- **url_shorten.rb** — Shortens URLs found in messages using tinyURL API.