# Acidblood 1.2.X

**Category:** Standalone_Bot
**Original Author:** Bryan Schwab

## Description
Acidblood is a standalone IRC bot designed to manage channels by automating tasks such as joining, parting, kicking users, and setting channel modes. It includes features like user-level access control and can be configured via a detailed configuration file.

## Key Features
- **Commands**: Provides commands for op, deop, say, raw, nick, kick, join, part, mode, topic, uptime, ctcp, autoop, ver, stats.
- **User-Level Access Control**: Allows users with different access levels to perform various actions.
- **Channel Management**: Can manage multiple channels and set channel modes.
- **Auto-Op**: Automatically op the bot on startup if configured.
- **CTCP Handling**: Supports CTCP commands as specified in the configuration.

## File Analysis
- **acidblood.h** — Contains definitions for structures used to store bot information, server data, and user entries.
- **action.c** — Implements routines for handling IRC actions such as sending messages and setting away status.
- **list.c** — Manages a linked list of user entries, likely used for tracking users in channels.
- **main.c** — Main entry point of the bot, initializes structures and sets up the main loop.
- **network.c** — Handles network communication with IRC servers, including parsing server messages.
- **parser.c** — Parses incoming IRC messages to determine appropriate actions based on the message content.
- **README** — Provides installation instructions and a brief overview of the bot's purpose.
- **Makefile** — Builds the bot using GCC, includes flags for optimization and debugging.
- **Entries** — Contains timestamps and file paths related to version control.
- **Repository** — Directory structure for source code management.
- **Root** — Top-level directory containing CVS repository information.
- **start** — Script to start the bot.
- **stop** — Script to stop the bot gracefully.
- **upbot** — Perl script that reloads the bot when it crashes, useful for maintaining uptime.
- **upbot.count** — Counter used by upbot to track restarts.
- **acid.conf** — Configuration file containing settings for the bot such as nicknames, channels, and server details.
- **acid.users** — User configuration file with access levels and passwords.
- **Commands** — Summary of commands available in the bot.
- **HISTORY** — Version history detailing changes made to the bot over time.
- **LICENCE** — GNU General Public License version 1.
- **Makefile.Solaris** — Makefile specific for Solaris systems, includes library dependencies.
- **VERSION** — Current version of the bot.
- **help** — Command summary and usage instructions.