# jenni IRC Bot

**Category:** mIRC_Bot
**Original Author:** Michael Yanovich (yanovich.net) and Sean B. Palmer (inamidst.com)

## Description
jenni is a versatile, fully-featured IRC bot designed to automate various tasks in chat rooms, including responding to commands, managing channel access, fetching information from the web, and more.

## Key Features
- Responds to user commands with predefined responses.
- Manages channel access by oping, deopping, voicing, and devoicing users.
- Fetches data from websites using various APIs.
- Provides a wide range of modules for different functionalities such as weather, news, quotes, and more.

## File Analysis
- **__init__.py** — Initializes the bot with configuration settings and basic setup.
- **bot.py** — Core logic for the IRC bot, handling connections, commands, and events.
- **configs.py** — Manages configurations for different modules.
- **tools.py** — Utility functions used across various modules.
- **irc.py** — IRC protocol utilities and classes.
- **web.py** — Web-related functionalities such as fetching data from websites.
- **admin.py** — Admin commands to manage the bot's configuration and operations.
- **adminchannel.py** — Advanced admin commands for managing channel permissions.
- **animate_me.py** — Fetches animated GIFs based on user input.
- **arxiv.py** — Retrieves information from arXiv.org.
- **ask.py** — Randomly selects answers to given questions.
- **banned_words.py** — Manages banned words and enforces a policy.
- **baseball.py** — Provides baseball game information.
- **btc.py** — Fetches Bitcoin exchange rates.
- **calc.py** — Performs mathematical calculations using WolframAlpha API.
- **chicken_reply.py** — Responds with "Chicken butt" or "Chicken thigh" to specific messages.
- **clock.py** — Displays the current time in various time zones.
- **codepoints.py** — Provides information about Unicode code points.
- **colours.py** — Manages color codes for text formatting.
- **countdown.py** — Counts down to specified dates.
- **dinner.py** — Suggests dinner options based on user input.
- **etymology.py** — Provides etymological information from the Online Etymology Dictionary.
- **excuses.py** — Generates excuses for users.
- **find.py** — Spell checking and correction using sed notation.
- **food.py** — Fetches restaurant recommendations using Yelp API.
- **freenode.py** — Specific commands for Freenode IRC network.
- **github_stats.py** — Retrieves GitHub-related information.
- **ham.py** — Provides ham radio related lookups and calls.
- **head.py** — Fetches HTTP metadata from URLs.
- **hindiety.py** — Provides etymological information in Hindi.
- **hugs.py** — Sends hugs to users in the chat.
- **image_me.py** — Fetches images based on user input.
- **imdb.py** — Retrieves movie information from IMDb API.
- **info.py** — Displays documentation for commands and modules.
- **insult.py** — Generates insults based on language configuration.
- **ip.py** — Looks up IP addresses and their geographical details.
- **isup.py** — Checks if a website is up using isup.me service.
- **latex.py** — Provides LaTeX formatting and encoding utilities.
- **lispy.py** — Implements a Lisp interpreter in Python.
- **magic_8_ball.py** — Generates random answers for questions.
- **man.py** — Links to man pages from the web.
- **motivate.py** — Motivational messages.
- **mustache_me.py** — Adds mustaches to images based on user input.
- **nws.py** — Retrieves National Weather Service alerts and warnings.
- **oblique.py** — Web services interface for various APIs.
- **oed.py** — Provides etymological information from the Oxford English Dictionary.
- **ping.py** — Responds to interjections and pings.
- **proxy.py** — Web facilities for making HTTP requests.
- **pun.py** — Generates puns based on user input.
- **quote.py** — Manages a quote database.
- **rand.py** — Generates random numbers within specified ranges.
- **reload.py** — Reloads modules for admin use.
- **remind.py** — Sets and manages reminders.
- **roulette.py** — Implements a roulette game in the chat.
- **rss.py** — Manages RSS feeds for channels.
- **sasl.py** — Handles SASL authentication for IRC connections.
- **scores.py** — Tracks user scores in various channels.
- **search.py** — Performs web searches using different engines.