Skip to content

About

A (kinda) advanced Bomb Party bot and Bot Manager built in Python with Selenium. CLI and Web

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Bomb Party Bot

hexakosioihexekontahexaphobia

A (kinda) advanced Bomb Party training bot and Bot Manager built in Python with Selenium.
Handles auto-reconnects, proxy rotation, human-like typing, and bonus-letter strategy.


Web App

  • https://bombpartybot.duckdns.org/
  • currently limited to one person at a time due to resource intensive nature of selenium.
  • will be migrated to a more efficient bot framework in the future (playwright or puppeteer)
  • Uses Flask, flask-limiter, flask-talisman, and csrf-protect for backend and security.
  • Runs on gunicorn wsgi server behind nginx.

Features

  • Bot Manager
    Handles bot persistence, auto-reconnect, and proxy rotation. Tracks lives and has multiple strategies.

  • Custom Dictionaries
    Load your own wordlists via plaintext and/or URLs. Default english only.

  • Proxy
    Supports static and authenticated proxies.

    Human-Like Typing

    • Dynamic typing delays based on word length, frequency, and typing randomness
    • Burst typing, frantic typing (when low on lives or after mistakes), and typo simulation
    • Spam typing for long answers or after losing lives
  • Word Selection Options
    Modes include:

    • 'sneaky', 'short', 'average', 'regen', 'long', 'common'
    • Special strategies like sneakyRegen, regenIfNeeded, and stockpiling bonus letters
  • Configurable Mistakes
    Simulates typos with mistakeChance and adjacent-key selection.


Dependencies

  • Python
  • Selenium
  • mitmproxy (for proxy)
  • wordfreq (for common word selection and realistic typing)

Installation

  1. Clone the repository:

    git clone https://github.com/funnymonke0/bomb_party_bot.git
    cd bomb_party_bot
  2. Install dependencies: Make sure you have uv installed. Then run:

    uv sync

Settings (settings.json)

All settings are loaded from settings.config. Change only what you understand, make sure types and setting keys are correct as it will throw an exception otherwise.

{
    "selectMode":"common",

    "regenIfNeeded":true,
    "sneakyRegen":true,
    "stockpile":false,
    "greedLong":false,
    "timeConstraint":true,
    "cyberbullying":false,
    "mistakes":true,
    "burstType":true,
    "spamType":true,
    "dynamicRate":false,
    "dynamicPauses":true,
    "dynamicMistakes":true,

    "minWait":1.0,
    "maxWait":3.2,
    "mistakePause":0.100,
    "miniPause": 0.330,
    "minWpm":70,
    "maxWpm":120,
    "spamWpm":1000,
    "burstChance":0.50,
    "minMistakeChance":0.01,
    "maxMistakeChance":0.15,
    "spamChance":0.10,
    "jitterPercent": 0.50
}


Proxies (proxies.config)

ip:port:user:password
ip:port

Supports authenticated and unauthenticated proxies.


Dictionaries (dictionaries.config)

  • Add word sources by URL:
https://raw.githubusercontent.com/YoungsterGlenn/bpDictionaryStatistics/master/dictionary.txt
https://norvig.com/ngrams/sowpods.txt
https://norvig.com/ngrams/enable1.txt
  • Or add individual words:
hyperventilate
photosynthesis
xylophone

Invalid Words (invalid.config)

  • Words that are outdated can be stored here.
  • Bot avoids using these words again.

Usage

python3 cli.py

OR

uv run cli.py

You’ll be prompted for:

  • Room Code (e.g., ABCD)
  • Username (leave blank for random)

The Bot Manager will:

  • Load your settings, proxies, and dictionaries
  • Spawn and manage the bot
  • Reconnect automatically if disconnected

Quickstart

  1. Clone repo and install dependencies (see above):
git clone https://github.com/funnymonke0/bomb_party_bot.git
cd bomb_party_bot
uv sync
  1. Configure your proxies (optional) in proxies.config.

  2. Add dictionaries in dictionaries.config. Defaults are safe.

  3. (Optional) Adjust typing and bot behavior in settings.config. Defaults are safe.

  4. Run the bot:

python3 cli.py

OR

uv run cli.py
  1. Enter your room code and username (leave username blank for random).

The bot will automatically connect to the room and start playing.


Improvements

  • track room codes when rooms change
  • no backup files so if you delete a config file, you will have to copy again
  • migrate to playwright because selenium is evil and needs webdrivers

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Attribution

If you modify or use this code, please preserve the original copyright notice and link back to this repository.

About

A (kinda) advanced Bomb Party bot and Bot Manager built in Python with Selenium. CLI and Web

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages