No description
Find a file
2026-02-20 21:39:31 +00:00
bot Fix income tax handling, improve player detection, add monop_server and play_bot scripts 2026-02-20 21:39:31 +00:00
site Fix income tax handling, improve player detection, add monop_server and play_bot scripts 2026-02-20 21:39:31 +00:00
test Fix income tax handling, improve player detection, add monop_server and play_bot scripts 2026-02-20 21:39:31 +00:00
.gitignore Add .gitignore, remove pycache 2026-02-20 21:06:41 +00:00
game-state.json Improve bot logging, flush output 2026-02-20 21:07:31 +00:00
README.md Add project README, fix holdings parser, update bot config for #monop-dev 2026-02-20 21:06:36 +00:00
SPEC.md Initial spec for monop-board 2026-02-20 20:56:00 +00:00

monop-board

A Monopoly board viewer for IRC games played with monop-irc.

Components

IRC Bot (bot/)

Python bot that joins an IRC channel, watches for monop-irc game output, parses it, and writes the game state to game-state.json.

Board Viewer (site/)

Single-file HTML/CSS/JS static site that reads game-state.json and renders a visual Monopoly board with player positions, property ownership, houses/hotels, and a game log. Auto-refreshes every 2 seconds.

Quick Start

# 1. Configure the bot
cp bot/config.json bot/config.local.json
# Edit config with your IRC server/channel details

# 2. Install bot dependencies
pip install -r bot/requirements.txt

# 3. Start the bot
cd bot && python3 monopbot.py

# 4. Serve the board viewer
cd site && python3 -m http.server 8080
# Open http://localhost:8080

How It Works

  1. monop-irc runs in an IRC channel, outputting game text
  2. The bot parses messages (rolls, movement, purchases, rent, jail, etc.)
  3. Game state is written to game-state.json after each change
  4. The board viewer polls the JSON file and renders the board

License

BSD (matching the original bsdgames monop license)