# infobot 0.44.5

**Category:** Standalone_Bot
**Original Author:** Kevin Lenzo

## Description
Infobot is a standalone IRC bot that learns from user inputs, providing information and answering questions based on the accumulated knowledge.

## Key Features
- Learns factoids through statements like "X is Y".
- Responds to queries about facts.
- Manages user permissions for teaching, removing, modifying, etc.
- Supports various modules for different functionalities (e.g., weather, stock quotes).
- Implements a complex event handling system with hooks and timers.

## File Analysis
- **ANSI.pl** — Provides ANSI color codes for output formatting.
- **Aviation.pl** — Retrieves aviation-related information from NOAA.
- **CTCP.pl** — Handles CTCP requests for version and ping commands.
- **Channel.pl** — Manages channel-specific data and settings.
- **DBM.pl** — Interface to on-disk databases using DBM files.
- **DNS.pl** — Performs DNS lookups with caching.
- **Extras.pl** — Extends infobot's functionality through custom routines.
- **Help.pl** — Provides help documentation for users.
- **Internic.pl** — Retrieves domain summary information from Internic.
- **Irc.pl** — Handles IRC server connections and communication.
- **IrcExtras.pl** — Contains core configuration and event handling logic.
- **Math.pl** — Performs basic mathematical operations based on natural language inputs.
- **Misc.pl** — Provides miscellaneous utility functions for text formatting and HTTP requests.
- **NOAA.pl** — Retrieves weather forecasts from NOAA.
- **Norm.pl** — Normalizes user input to improve understanding.
- **Params.pl** — Loads and manages configuration parameters.
- **Process.pl** — Processes incoming IRC messages.
- **Question.pl** — Handles question-based queries.
- **RDF.pl** — Fetches RDF data for headlines or search results.
- **Reply.pl** — Generates responses based on factoids.
- **Search.pl** — Searches through accumulated knowledge.
- **Setup.pl** — Sets up the bot with initial parameters and databases.
- **Slashdot3.pl** — Retrieves Slashdot headlines using XML::RSS.
- **Speller.pl** — Provides spell checking functionality.
- **Statement.pl** — Handles statement-based updates to factoids.
- **Traceroute.pl** — Performs traceroute queries.
- **Update.pl** — Updates the bot's knowledge base with new information.
- **User.pl** — Manages user permissions and settings.
- **W3Search.pl** — Searches web using various engines.
- **Zippy.pl** — Provides Zippy the Pinhead quotes.
- **babel.pl** — Translates text into different languages using Babelfish.
- **exchange.pl** — Converts currency between different currencies.
- **excuse.pl** — Generates bofh-style excuses.
- **insult.pl** — Retrieves insults from an external server.
- **nickometer.pl** — Evaluates the "niceness" of nicknames.
- **purldoc.pl** — Searches Perl documentation for keywords.
- **stockquote.pl** — Fetches stock quotes using Yahoo Finance API.