# sexpbot

**Category:** Standalone_Bot
**Original Author:** Rayne

## Description
sexpbot is a standalone IRC bot written in Clojure that provides various functionalities such as executing commands, handling channel events, and interacting with external services.

## Key Features
- Handles `on-message`, `on-quit`, and `on-join` events.
- Supports user authentication and privilege levels.
- Executes Clojure code for plugin functionality.
- Integrates with external services like Twitter and GitHub.
- Provides a wide range of plugins including fortune-telling, dictionary lookup, and weather forecasting.

## File Analysis
- **README.markdown** — Documentation for the bot.
- **.gitignore** — Specifies files to ignore in version control.
- **dict** — A list of words used by the bot.
- **epl-v10.html** — Eclipse Public License v1.0.
- **example.policy** — Example policy file with `java.security.AllPermission`.
- **project.clj** — Project metadata and dependencies.
- **sexpbot** — Entry point for running the bot using Clojure.
- **sexpbot-opt** — Optimized entry point for running the bot.
- **todo.markdown** — TODO list for future development.
- **fortunes.clj** — Fortunes data structure.
- **info.clj** — Configuration and settings for the bot.
- **mail.clj** — Placeholder file, likely unused.
- **log4j.properties** — Logging configuration using Log4J.
- **core.clj** — Core functionality of the bot including event handling and plugin management.
- **gist.clj** — Gist-related functions for code snippets.
- **irc.clj** — IRC-related functions and bot initialization.
- **registry.clj** — Plugin registry and management.
- **run.clj** — Main entry point for running the bot.
- **twitter.clj** — Twitter integration functions.
- **utilities.clj** — Utility functions used throughout the codebase.
- **brainfuck.clj** — Brainfuck interpreter plugin.
- **clojure.clj** — Clojure evaluation and execution plugin.
- **debug.clj** — Debug mode functionality.
- **dictionary.clj** — Dictionary lookup plugin using Wordnik API.
- **eball.clj** — Magic 8-ball fortune-telling plugin.
- **embedded.clj** — Embedded command processing.
- **fortune.clj** — Fortune cookie plugin.
- **github.clj** — GitHub integration functions.
- **google.clj** — Google search functionality.
- **haskell.clj** — Haskell code evaluation and execution plugin.
- **hello_world.clj** — Simple "Hello, World!" command.
- **help.clj** — Help topic management.
- **karma.clj** — Karma system for tracking user reputation.
- **leet.clj** — Leetspeak transformation plugin.
- **lmgtfy.clj** — Create Google search URLs.
- **load.clj** — Plugin loading and unloading functionality.
- **log.clj** — Logging functions.
- **logger.clj** — Logger management.
- **login.clj** — User authentication and privilege handling.
- **macro.clj** — Macro command processing.
- **mail.clj** — Email functionality, likely unused.
- **markov.clj** — Markov chain text generation plugin.
- **max.clj** — Channel user count tracking.
- **mute.clj** — Mute/unmute channel functionality.
- **notifo.clj** — Notification integration with Notifo service.
- **operator.clj** — Operator and deop commands.
- **ping.clj** — Ping request handling.
- **rss.clj** — RSS feed parsing and display.
- **sed.clj** — Sed-like text replacement plugin.
- **seen.clj** — Track when users were last seen.
- **shorturl.clj** — URL shortening using is.gd and bit.ly services.
- **timer.clj** — Timer functionality.
- **title.clj** — Web page title extraction.
- **translate.clj** — Translation plugin using Google Translate API.
- **utils.clj** — Utility functions for various tasks.
- **weather.clj** — Weather forecast plugin.
- **whatis.clj** — Teach and query the bot with knowledge.
- **core_test.clj** — Test cases for core functionality.