# bMotion

**Category:** Eggdrop_Bot
**Original Author:** James Michael Seward

## Description
bMotion is an advanced IRC bot written in Tcl that provides a wide range of features for automating interactions on IRC channels. It includes modules for handling events, managing user data, performing flood control, and more.

## Key Features
- Event handling and automation through triggers.
- User management and friendship tracking.
- Flood protection mechanisms.
- Leet text conversion.
- Mood handling and responses.
- Output functions for sending messages.
- Plugins system for extending functionality.
- Statistics collection and updates.
- Complex action plugins for various interactions.

## File Analysis
- **bMotion.tcl** — Core script defining the bot's main logic and event bindings.
- **abstracts.tcl** — Handles abstract responses and phrases.
- **abstract.tcl** — Abstract handling functions.
- **counters.tcl** — Internal counters for tracking events.
- **diagnostics.tcl** — Diagnostics and error handling.
- **events.tcl** — Event handling logic.
- **events_support.tcl** — Support functions for event handling.
- **flood.tcl** — Flood checking mechanisms.
- **friendship.tcl** — Friendship handler and management.
- **interbot.tcl** — Interbot communication and interaction.
- **leet.tcl** — Leet text conversion.
- **leet_settings.tcl** — Settings for leet text conversion.
- **mood.tcl** — Mood handling and responses.
- **output.tcl** — Output functions for sending messages.
- **plugins.tcl** — Plugins engine for extending functionality.
- **plugins_settings.tcl** — Settings engine for plugins.
- **queue.tcl** — Queue functions for managing tasks.
- **settings.sample.tcl** — Sample settings file to be customized.
- **system.tcl** — System functions and utilities.
- **variables.tcl** — Global variable initialization.
- **facts.txt** — A simple fact about the script.
- **dutchify.tcl** — Dutchification plugin.
- **fact.tcl** — Facts module for handling facts.
- **jeffk.tcl** — JeffK plugin (likely a custom module).
- **promswear.tcl** — Promotional swear words module.
- **question.tcl** — Question handling module.
- **randomword.tcl** — Random word generator.
- **randomwordList.tcl** — List of random words for the generator.
- **stats.tcl** — Stats and update module.
- **action_complex.tcl** — Complex action plugins loader.
- **action_simple.tcl** — Simple action plugins loader.
- **admin.tcl** — Admin plugins loader.
- **admin_abstract.tcl** — Admin plugin file for abstracts.
- **admin_fact.tcl** — Admin plugin file for facts.
- **admin_flood.tcl** — Admin plugin file for flood management.
- **admin_friendship.tcl** — Admin plugin file for friendship management.
- **admin_general.tcl** — Admin general plugins.
- **admin_help.tcl** — Admin help module.
- **admin_language.tcl** — Admin plugin file for language management.
- **admin_log.tcl** — Admin plugin file for logging.
- **admin_plugin.tcl** — Admin plugin file for plugin management.
- **admin_version.tcl** — Admin plugin file for version info.
- **complex.tcl** — Complex plugins loader.
- **irc_event.tcl** — IRC event handling plugin.
- **output.tcl** — Output plugins loader.
- **simple.tcl** — Simple plugins loader.
- **simple_general.tcl** — Simple general plugins.
- **action_complex_pinch.tcl** — Complex pinch action plugin.
- **action_complex_attack.tcl** — Complex attack action plugin.
- **action_complex_away.tcl** — Complex away handler plugin.
- **action_complex_away_learn.tcl** — Complex away reason learning plugin.
- **action_complex_balefires.tcl** — Complex balefires action plugin.
- **action_complex_failsafe.tcl** — Complex failsafe away handler plugin.
- **action_complex_fucks.tcl** — Complex fucks action plugin.
- **action_complex_hands.tcl** — Complex hands action plugin.
- **action_complex_hands_dildo.tcl** — Complex hands dildo action plugin.
- **action_complex_hides.tcl** — Complex hides action plugin.
- **action_complex_hops.tcl** — Complex hops action plugin.
- **action_complex_hugs.tcl** — Complex hugs action plugin.
- **action_complex_inserts.tcl** — Complex inserts action plugin.
- **action_complex_lifts.tcl** — Complex lifts action plugin.
- **action_complex_light.tcl** — Complex light action plugin.
- **action_complex_makes.tcl** — Complex makes action plugin.
- **action_complex_now_playing.tcl** — Complex now playing action plugin.
- **action_complex_pinch.tcl** — Complex pinch action plugin (duplicate).
- **action_complex_saton.tcl** — Complex sits action plugin.
- **action_complex_shows.tcl** — Complex shows action plugin.
- **action_complex_sleeps.tcl** — Complex sleeps action plugin.
- **action_complex_smacks.tcl** — Complex smacks action plugin.
- **action_complex_snickers.tcl** — Complex snickers action plugin.
- **action_complex_throwsbot.tcl** — Complex throwsbot action plugin.
- **action_complex_waves.tcl** — Complex waves action plugin.
- **action_simple.tcl** — Simple action plugins loader (duplicate).
- **action_simple_general.tcl** — Simple general plugins (duplicate).
- **action_simple_squeeze.tcl** — Simple squeeze action plugin.
- **complex_abbr.tcl** — Complex abbreviation handling plugin.
- **complex_action_hands_dildo.tcl** — Complex hands dildo action plugin (duplicate).
- **complex_activate.tcl** — Complex activate action plugin.
- **complex_afro.tcl** — Complex afro action plugin.
- **complex_asl.tcl** — Complex ASL action plugin.
- **complex_bhar.tcl** — Complex bhar action plugin.
- **complex_bitlbee.tcl** — Complex bitlbee action plugin.
- **complex_blbl.tcl** — Complex blbl action plugin.
- **complex_chomp.tcl** — Complex chomp action plugin.
- **complex_colen.tcl** — Complex colen action plugin.
- **complex_correct.tcl** — Complex correct common errors plugin.
- **complex_crap.tcl** — Complex crap action plugin.
- **complex_dutchify.tcl** — Complex dutchify action plugin (duplicate).
- **complex_eat.tcl** — Complex eat action plugin.
- **complex_eitheror.tcl** — Complex eitheror action plugin.