# bMotion

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

## Description
bMotion is an AI TCL script designed for use with eggdrop IRC bots. It provides a wide range of functionalities to automate interactions, manage channels, and handle various events within an IRC network.

## Key Features
- Command triggers for automated responses.
- User-level access and permission system.
- Heavy automation of TEXT/JOIN/KICK/OP operations.
- Integration with flood control mechanisms.
- Support for plugins and modules for additional functionality.
- Event handling and response generation based on user input and channel events.

## File Analysis
- **bMotion.tcl** — Core script that initializes the bot and loads other modules.
- **abstracts.tcl** — Contains abstract responses used by the bot.
- **counters.tcl** — Manages internal counters for various statistics.
- **diagnostics.tcl** — Provides diagnostic functions to check bot status.
- **events.tcl** — Handles events such as joins, parts, and messages.
- **events_support.tcl** — Support functions for event handling.
- **flood.tcl** — Implements flood control mechanisms.
- **friendship.tcl** — Manages friendship data and interactions.
- **interbot.tcl** — Inter-bot communication and coordination.
- **leet.tcl** — Translates text to leet speak.
- **leet_settings.tcl** — Settings for the leet module.
- **mood.tcl** — Manages user moods and responses.
- **output.tcl** — Functions for sending messages and outputs.
- **plugins.tcl** — Engine for managing plugins.
- **plugins_settings.tcl** — Settings engine for plugins.
- **queue.tcl** — Manages a queue system for commands.
- **settings.sample.tcl** — Sample settings file that needs to be copied and modified.
- **system.tcl** — System functions and utilities.
- **variables.tcl** — Initializes global variables.
- **facts.txt** — A simple fact about bMotion.
- **randomstuff.tcl** — Provides random responses for the bot.
- **dutchify.tcl** — Plugin that dutchifies text.
- **fact.tcl** — Module to handle facts and trivia.
- **jeffk.tcl** — Plugin with unknown functionality.
- **promswear.tcl** — Promiscuous swear words plugin.
- **question.tcl** — Handles questions and provides answers.
- **randomword.tcl** — Generates random words.
- **randomwordList.tcl** — Contains lists of random words.
- **stats.tcl** — Module for collecting and reporting bot statistics.
- **action_complex.tcl** — Complex action plugins loader.
- **action_simple.tcl** — Simple action plugins loader.
- **admin.tcl** — Admin plugin loader.
- **admin_abstract.tcl** — Admin plugin for abstracts management.
- **admin_fact.tcl** — Admin plugin for facts management.
- **admin_flood.tcl** — Admin plugin for flood management.
- **admin_friendship.tcl** — Admin plugin for friendship management.
- **admin_general.tcl** — General admin plugins.
- **admin_help.tcl** — Admin help module.
- **admin_language.tcl** — Admin plugin for language management.
- **admin_log.tcl** — Admin plugin for logging.
- **admin_plugin.tcl** — Admin plugin for managing plugins.
- **admin_version.tcl** — Admin plugin for version information.
- **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** — General simple plugins (nl variant).
- **action_complex_pinch.tcl** — Specific complex action for pinching.
- **action_complex_attack.tcl** — Specific complex action for attacks.
- **action_complex_away.tcl** — Specific complex action for away messages.
- **action_complex_away_learn.tcl** — Specific complex action for learning away messages.
- **action_complex_balefires.tcl** — Specific complex action for balefires.
- **action_complex_cracker.tcl** — Specific complex action for cracking.
- **action_complex_failsafe.tcl** — Specific complex action for failsafes.
- **action_complex_fucks.tcl** — Specific complex action for fucks.
- **action_complex_hands.tcl** — Specific complex action for hands.
- **action_complex_hands_dildo.tcl** — Specific complex action for hands with a dildo.
- **action_complex_hides.tcl** — Specific complex action for hides.
- **action_complex_hops.tcl** — Specific complex action for hops.
- **action_complex_hugs.tcl** — Specific complex action for hugs.
- **action_complex_inserts.tcl** — Specific complex action for inserts.
- **action_complex_lifts.tcl** — Specific complex action for lifts.
- **action_complex_light.tcl** — Specific complex action for light.
- **action_complex_makes.tcl** — Specific complex action for makes.
- **action_complex_now_playing.tcl** — Specific complex action for now playing.
- **action_complex_pinch.tcl** — Specific complex action for pinching (duplicate).
- **action_complex_pings.tcl** — Specific complex action for pings.
- **action_complex_rolls.tcl** — Specific complex action for rolls.
- **action_complex_saton.tcl** — Specific complex action for sits.
- **action_complex_shows.tcl** — Specific complex action for shows.
- **action_complex_sleeps.tcl** — Specific complex action for sleeps.
- **action_complex_smacks.tcl** — Specific complex action for smacks.
- **action_complex_snickers.tcl** — Specific complex action for snickers.
- **action_complex_throwsbot.tcl** — Specific complex action for throwing a bot.
- **action_complex_waves.tcl** — Specific complex action for waves.
- **action_simple.tcl** — Simple plugins loader (duplicate).
- **action_simple_general.tcl** — General simple plugins (nl variant) (duplicate).
- **action_simple_squeeze.tcl** — Specific simple action for squeezing.
- **complex_abbr.tcl** — Complex plugin for abbreviations.
- **complex_action_hands_dildo.tcl** — Specific complex action for hands with a dildo (duplicate).
- **complex_activate.tcl** — Specific complex action for activation.
- **complex_afro.tcl** — Specific complex action for Afro.
- **complex_asl.tcl** — Specific complex action for ASL.
- **complex_ass.tcl** — Specific complex action for ASS.
- **complex_bhar.tcl** — Specific complex action for Bhar.
- **complex_bitlbee.tcl** — Specific complex action for Bitlbee initialization.
- **complex_blbl.tcl** — Specific complex action for BLBL.
- **complex_calculator.tcl** — Complex plugin for calculator operations.
- **complex_card.tcl** — Complex plugin for card-related functionality.