# BitBot v1.6.0

**Category:** Standalone_Bot
**Original Author:** Unknown

## Description
BitBot is a standalone IRC bot written in Python that provides various utilities and automation features for managing channels, users, and server interactions.

## Key Features
- Manages channel settings such as modes, access levels, and invite handling.
- Provides commands for user interaction like changing nicknames, sending raw IRC commands, and kicking users.
- Offers a variety of services including database management, logging, and event handling.
- Includes modules for trivia (8ball), dice rolling, and fortune-telling.

## File Analysis
- **start.py** — Entry point and configuration setup for the bot.
- **8ball.py** — Implements an 8-ball command to provide random answers.
- **accept_invite.py** — Handles accepting invites on a server.
- **admin.py** — Provides administrative commands like changing nicknames and sending raw IRC data.
- **auto_mode.py** — Manages channel modes based on user access levels.
- **badwords.py** — Allows setting and listing bad words in channels.
- **birthday.py** — Handles birthday-related commands.
- **bitcoin.py** — Fetches Bitcoin exchange rates.
- **books.py** — Searches for book information using Google Books API.
- **bot_channel.py** — Sets the main bot channel on connection.
- **botlist.py** — Sends a roll call message to channels.
- **channel_access.py** — Manages user access in channels based on modes.
- **channel_op.py** — Implements spam protection and highlighting for messages.
- **channel_save.py** — Automatically saves joined channels.
- **check_mode.py** — Checks channel modes against required settings.
- **check_urls.py** — Checks URLs for malicious content using VirusTotal.
- **coins.py** — Implements a simple gambling system with betting and lotteries.
- **config.py** — Manages configuration settings for the bot.
- **ctcp.py** — Handles CTCP responses on the server.
- **cve.py** — Fetches CVE information from CIRCL API.
- **database_backup.py** — Backs up database files at regular intervals.
- **define.py** — Provides definitions for words using Wordnik API.
- **dice.py** — Rolls dice with specified sides and counts.
- **duckduckgo.py** — Searches DuckDuckGo for the first result of a query.
- **ducks.py** — Spawns ducks in channels based on message activity.
- **echo.py** — Echoes user input back to them.
- **eval_lua.py** — Evaluates Lua code using TPCG API.
- **eval_python.py** — Evaluates Python code using Repl.it API.
- **eval_rust.py** — Evaluates Rust code using PlayRust API.
- **factoids.py** — Manages factoid commands for storing and retrieving information.
- **format_activity.py** — Formats IRC activity events.
- **google.py** — Searches Google for the first result of a query.
- **greeting.py** — Sends greetings to users when they join channels.
- **hash.py** — Hashes strings using various algorithms.
- **ids.py** — Provides user and channel ID information.
- **imdb.py** — Fetches movie or TV show information from IMDb API.
- **imgur.py** — Retrieves image details from Imgur.
- **in.py** — Sets reminders for future events.
- **ip_addresses.py** — Resolves IP addresses to hostnames.
- **karma.py** — Tracks and displays karma points for users.
- **lastfm.py** — Gets the last listened track from a user on Last.fm.
- **location.py** — Retrieves location information using OpenCage API.
- **message_tracking.py** — Tracks message IDs and marks them as read or delivered.
- **metadata.py** — Manages metadata tags for messages.
- **mixed_unicode.py** — Detects script changes in text.
- **modules.py** — Reloads modules on the bot.
- **nick_regain.py** — Handles nickname recovery when connecting to a server.
- **nickserv.py** — Identifies with NickServ using a password.
- **nr.py** — Fetches train information from National Rail API.
- **perform.py** — Executes predefined commands upon connection.
- **pong.py** — Responds to ping messages with pong.
- **print_activity.py** — Prints formatted IRC activity to the bot's log.
- **pronouns.py** — Manages user pronoun settings.
- **quotes.py** — Adds and retrieves quotes from channels.
- **random_number.py** — Generates random numbers or coin flips.
- **rest_api.py** — Provides a REST API for interacting with the bot.
- **resume.py** — Manages resume tokens for server connections.
- **rot13.py** — Encodes/decodes text using ROT13.
- **sed.py** — Implements sed-like functionality in IRC channels.