# infobot 0.44.2

**Category:** Standalone_Bot
**Original Author:** Kevin A. Lenzo & Patrick Cole

## Description
Infobot is a standalone IRC bot that learns from declarative statements and responds to queries by providing the stored information. It supports various commands, updates its database with new facts, and can be configured for different environments.

## Key Features
- Learns from "x is y" or "x are y" statements.
- Responds to questions like "where is x".
- Supports multiple databases (is, are) for storing information.
- Can update its knowledge base based on external files.
- Includes various modules for functionalities such as weather, math, and trivia.

## File Analysis
- **get_stuff.pl** — Processes tracking logs to extract updates and enters them into the database.
- **run_if_needed.pl** — Ensures infobot runs continuously by checking if it is already running or starting a new process.
- **track2fact.pl** — Converts tracking files into fact files for easier database management.
- **ANSI.pl** — Provides ANSI escape sequences for text formatting.
- **CTCP.pl** — Handles CTCP (Client-to-Client Protocol) requests and replies.
- **DBM.pl** — Manages DBM databases for storing information.
- **DNS.pl** — Performs DNS lookups with caching.
- **Help.pl** — Sets up help files for the bot's commands.
- **Internic.pl** — Retrieves domain summary data from Internic.
- **Irc.pl** — Manages IRC connections and interactions.
- **IrcExtras.pl** — Extends Irc functionality, including handling signals and version information.
- **IrcHooks.pl** — Hooks for processing IRC messages and actions.
- **METAR2.pl** — Retrieves aviation weather reports from METAR services.
- **Math.pl** — Handles mathematical calculations based on natural language input.
- **Misc.pl** — Provides miscellaneous utility functions.
- **NOAA.pl** — Fetches weather forecasts from NOAA.
- **Norm.pl** — Normalizes user inputs to improve understanding and processing.
- **Params.pl** — Loads and manages parameter files for configuration.
- **Process.pl** — Processes incoming messages, updates the database, and handles queries.
- **Question.pl** — Determines if a message is a query and processes it accordingly.
- **Reply.pl** — Retrieves and formats responses from the database.
- **Search.pl** — Allows users to search the bot's knowledge base.
- **Setup.pl** — Sets up the bot with initial configurations.
- **Slashdot3.pl** — Retrieves Slashdot headlines using XML parsing.
- **Speller.pl** — Provides spell checking functionality.
- **Statement.pl** — Handles statements and updates the database.
- **Traceroute.pl** — Performs traceroute queries.
- **UAFlight.pl** — Fetches flight status information from US Airways.
- **Update.pl** — Updates the bot's knowledge base with new facts.
- **User.pl** — Manages user permissions and configurations.
- **W3Search.pl** — Searches web using various search engines.
- **babel.pl** — Translates text between different languages.
- **insult.pl** — Delivers random insults to users.
- **myRoutines.pl** — Extends the bot's functionality with custom routines.
- **nickometer.pl** — Evaluates nicknames for offensiveness.
- **README** — Instructions for setting up and using infobot.
- **README.scripts** — Scripts for updating and dumping databases.
- **REVISIONS** — Notes on changes and updates to the bot.
- **infobot** — Main script that initializes and runs the bot.
- **how_to_fix_files_uploaded_from_windows_to_unix.txt** — Instructions for fixing text files uploaded from Windows.
- **infobot_guide.html** — HTML guide for using infobot.
- **infobot-are.txt, infobot-is.txt** — Example fact files used by the bot.
- **infobot.config** — Configuration file for setting up the bot.
- **infobot.crontab** — Cron job to run the bot periodically.
- **infobot.help** — Documentation on how to interact with and use the bot.
- **infobot.users** — User configuration file for permissions and access control.
- **sane-are.txt, sane-is.txt** — Example fact files used by the bot.
- **curl** — Perl script for interacting with the bot's databases.
- **dump_db** — Script to dump database contents into a flat file.
- **makepasswd** — Script to generate password hashes.
- **unupdate_dbs** — Script to undo updates made by specific users.