# Willie IRC Bot

**Category:** Standalone_Bot
**Original Author:** Sean B. Palmer, Michael Yanovich, Elad Alfassa

## Description
Willie is a standalone IRC bot written in Python that provides various functionalities such as responding to commands, managing channels, and interacting with users.

## Key Features
- Responds to user commands like `.announce`, `.calc`, and `.movie`.
- Manages channel logs and user permissions.
- Provides information about websites using `isup.me` and `lmgtfy.com`.
- Supports modules for various functionalities such as weather, news, and more.

## File Analysis
- **checkstyle.sh —** Script to check code style with PEP8.
- **ci_build.sh —** Build script for continuous integration.
- **conftest.py —** Pytest ignore configuration file.
- **pytest_run.py —** Script to run pytest tests.
- **setup.py —** Setup script for packaging and distributing Willie.
- **release.sh —** Script to release a new version of Willie.
- **update_db.py —** Database migration script.
- **makerpm.py —** Script to create an RPM package.
- **make.bat —** Windows batch file for Sphinx documentation build.
- **conf.py —** Configuration file for Sphinx documentation.
- **test_db.py —** Test suite for the database functionality.
- **test_trigger.py —** Test suite for message parsing.
- **__init__.py —** Initialization module for Willie.
- **bot.py —** Core IRC bot functionality.
- **coretasks.py —** Core tasks and routines for the bot.
- **db.py —** Database management module.
- **formatting.py —** Module to apply IRC formatting.
- **irc.py —** Utility IRC bot with core protocol handling.
- **logger.py —** Logging handler for IRC messages.
- **module.py —** Decorators and tools for defining modules.
- **test_tools.py —** Tools for writing tests.
- **tools.py —** Miscellaneous utility functions.
- **trigger.py —** Pre-trigger and trigger classes for message parsing.
- **web.py —** Web-related functions for interacting with web applications.
- **admin.py —** Admin module for managing bot settings.
- **adminchannel.py —** Module to manage admin channels.
- **announce.py —** Module to send announcements.
- **bugzilla.py —** Bug tracking module using Bugzilla.
- **calc.py —** Calculator module.
- **chanlogs.py —** Channel logging module.
- **clock.py —** Time and date functionality.
- **countdown.py —** Countdown timer module.
- **currency.py —** Currency conversion module.
- **dice.py —** Dice rolling module.
- **etymology.py —** Etymology lookup module.
- **find.py —** Spelling correction module.
- **find_updates.py —** Update checking module.
- **github.py —** Github interaction module.
- **help.py —** Help and documentation module.
- **ip.py —** IP address lookup module.
- **ipython.py —** Interactive Python console.
- **isup.py —** Website status checker using isup.me.
- **lmgtfy.py —** Let me Google that for you module.
- **meetbot.py —** Meeting logging and management module.
- **movie.py —** Movie information lookup module.
- **ping.py —** Greeting and rude response module.
- **radio.py —** ShoutCAST radio stream module.
- **rand.py —** Random number generation module.
- **reddit.py —** Reddit interaction module.
- **reload.py —** Module reloader for admins.
- **remind.py —** Reminder management module.
- **rss.py —** RSS feed monitoring and notification module.
- **safety.py —** Malicious URL detection module using VirusTotal.
- **search.py —** Web search functionality.
- **seen.py —** User activity tracking module.
- **spellcheck.py —** Spell checking module.
- **tell.py —** Tell and ask functionality.