Español | English
WowMiniClient is a lightweight, headless World of Warcraft client written in Python. It logs a character into a private server without the game client and relays chat between WoW and Discord: guild, officer, whispers, custom channels and more, plus guild events, dot commands and GM commands run from a Discord channel.
| Feature | Description |
|---|---|
| Chat relay | Two-way relay between WoW chats (guild, officer, say, yell, whisper, party, raid, custom channels...) and Discord channels, with custom formats and regex filters |
| Guild events | Online, offline, joins, leaves, kicks, promotions, demotions, MOTD and achievements posted to Discord |
| Dot commands | .who, .gmotd and .r (whisper reply) from Discord |
| GM commands | Run server commands from a Discord channel restricted by role, with a blocklist |
| Multiple expansions | Vanilla (1.6 to 1.12), TBC 2.4.3, WotLK 3.3.x, Cataclysm 4.3.4 and MoP 5.4.8 |
| Setup wizard | Console (InquirerPy) or temporary local web page (Flask) to create wowchat.toml |
See the technical documentation for details.
WowMiniClient/
├── src/
│ ├── main.py # Client entry point
│ ├── configure.py # Setup wizard entry point
│ ├── configurator/ # Console and web setup flows
│ ├── common/ # Config parsing, types, routing
│ ├── crypto/ # SRP6, RC4 and header encryption
│ ├── realm/ # Realm (logon) server connection
│ ├── game/ # Game server connection and packet handlers
│ ├── warden/ # Warden anti-cheat handling
│ ├── modules/bot/ # Discord bot
│ ├── utils/ # Logger, banner and helpers
│ └── data/ # Area and achievement names
├── tests/
├── docs/
│ ├── en/ # English documentation
│ └── es/ # Spanish documentation
├── wowchat.example.toml
├── pyproject.toml
└── requirements.txt
- Python 3.12+
- A Discord bot with the Message Content intent enabled
- A WoW account and character on the target server
The getting started guide covers the Discord bot, every configuration option and running the client. Quick start:
-
Create a virtual environment and install the dependencies:
python -m venv venv source venv/bin/activate pip install -r requirements.txtOn Windows PowerShell, activate it with
venv\Scripts\Activate.ps1. -
Run the setup wizard and choose the console or the browser:
python src/configure.py
It writes
wowchat.tomlin the project root, which is ignored by Git. You can also copywowchat.example.tomland edit it by hand. -
Start the client:
python src/main.py
pip install -e ".[dev]"
pytest