Skip to content

Repository files navigation

Gemini_Generated_Image_s1mnq6s1mnq6s1mn

MultiBot Chatless

Bridge-first client addon for AzerothCore mod-playerbots

MultiBot-Chatless is the client-side World of Warcraft 3.3.5a addon for controlling and inspecting Playerbots through a cleaner, mostly chatless UI workflow.


Repository Bridge Module WoW Version Architecture



Component Repository Install Location
Client Addon MultiBot-Chatless World of Warcraft/Interface/AddOns/MultiBot
Server Bridge Module mod-multibot-bridge azerothcore/modules/mod-multibot-bridge

Important Notice

MultiBot-Chatless is the addon-side repository only.

To get the new bridge-first / mostly chatless behavior, you also need the server-side AzerothCore module:

Without the bridge module, the addon cannot use the new structured MBOT GET~... data flow.


What is MultiBot Chatless?

MultiBot is a user interface addon for the AzerothCore mod-playerbots module.

This fork focuses on removing automatic bot chat spam from the main UI refresh paths by using a dedicated AzerothCore bridge module instead of relying on legacy chat parsing.

The addon now requests structured data from the server through mod-multibot-bridge.

Examples of bridge request families (arguments omitted here for readability):

MBOT HELLO
MBOT PING
GET~ROSTER
GET~STATES
GET~WEAPON_ENCHANT
GET~DETAILS
GET~STATS
GET~PVP_STATS
GET~TALENT_SPEC_LIST
GET~INVENTORY
GET~BANK
GET~GBANK
GET~SPELLBOOK
GET~BOT_SKILLS
GET~BOT_REPUTATIONS
GET~BOT_EMBLEMS
GET~PROFESSION_RECIPES
GET~GLYPHS
GET~OUTFITS
GET~QUESTS
GET~GAMEOBJECTS
GET~FORMATIONS
RUN~CRAFT_RECIPE
RUN~ITEM_ACTION
RUN~OUTFIT
RUN~RTI
RUN~COMBAT
RUN~POSITION
RUN~LOOT
RUN~STRATEGY
RUN~FORMATION

The Formation family uses the following complete party/raid-wide contracts:

RUN~FORMATION~GROUP~~<token>~<formation>
FORMATION_ACK~GROUP~~<token>~<success>~<failure>~<formation>

GET~FORMATIONS~GROUP~~<token>
FORMATIONS_BEGIN~<token>~<count>
FORMATIONS_ITEM~<token>~<botName>~<formation>
FORMATIONS_END~<token>~<sentCount>

GROUP covers every controllable bot in the player's current party or raid. It does not target individual raid subgroups.

Current state and strategy capabilities

The addon and bridge now negotiate two dedicated capabilities for authoritative bot-state synchronization and strategy mutations:

STATE_FRAMING_V1
STRATEGY_MUTATION_V1

STATE_FRAMING_V1 uses tokenized STATE / STATES transactions with framed responses, bounded payloads, cleanup on terminal errors/timeouts, and stale-response protection. Per-bot requests use a 5-second timeout; global state requests use a 15-second timeout.

STRATEGY_MUTATION_V1 provides structured co/nc mutations through RUN~STRATEGY and completion through STRATEGY_ACK. The bridge reports matched, succeeded and failed bot counts, while the addon applies explicit timeout and rejection diagnostics.

The migration is intentionally incremental. The Warlock stone, soulstone, pet and curse selectors are now migrated to structured RUN~STRATEGY mutations. When those selectors use the bridge, the addon waits for authoritative server STATE data before committing the selected UI state instead of applying an optimistic local state. Other specialized legacy UI paths still issue Playerbots chat commands directly and must be migrated before the addon can be described as fully chatless.

Manual playerbot commands are still intentionally preserved for diagnostics and gameplay actions.

Commands such as:

who
co ?
nc ?
ss ?

still work when the player explicitly wants to inspect a bot state.

The goal is not to remove useful manual commands.
The goal is to remove automatic UI-refresh spam.

Warlock weapon-enchant diagnostic

For targeted runtime diagnostics, the addon exposes:

/mbdebug enchant [bot]

If the bot name is omitted, the current target is used. The command sends a single GET~WEAPON_ENCHANT request and displays the structured WEAPON_ENCHANT response with main-hand/off-hand item entries, temporary enchant IDs and remaining durations. This path is diagnostic only: it is on-demand, server-authorized and rate-limited, and is not used for polling or normal selector state synchronization.


Features

Area Status
Bridge handshake ImplementedHELLO, HELLO_ACK, PING, PONG
Roster refresh Bridge-first
Bot states Bridge-first, framedSTATE_FRAMING_V1, tokenized STATE/STATES transactions, bounded payloads, timeout cleanup and stale-response protection
Strategy mutations Bridge-first where migratedSTRATEGY_MUTATION_V1, RUN~STRATEGY, STRATEGY_ACK and explicit rejection/timeout diagnostics
Warlock strategy selectors Bridge-first and runtime validated — Stones, Soulstones, Pets and Curses use structured strategy mutations; bridge-backed selections wait for authoritative state, invalid Warlock dps/dps debuff controls and the disabled Buff placeholder were removed, and the selector layout was compacted
Bot details Bridge-first
Stats Bridge-first
PvP stats Bridge-first
Talent spec lists Bridge-first template listing without automatic talents spec list chat spam
Inventory Bridge-first with icons and item tooltips
Spellbook Bridge-first combat spell listing separated from profession recipe data
Character Info frame Bridge-first Blizzard-style tabs for skills, reputations and currencies/emblems
Bot bank / guild bank / vendor buy Bridge-first bank snapshots, guild bank snapshots, bank deposit/withdraw, guild bank deposit/withdraw and vendor buy actions
Profession recipe frame Bridge-first recipe listing and recipe crafting opened from Character Info profession and secondary skill rows
Glyphs Bridge-first with glyph icons and tooltips
Loot rules Bridge-first loot enable/disable and loot list profiles through RUN~LOOT
Loot Master frame Implemented optional auto-opening master-loot UI with candidate scoring, preferences and recent loot history
Units / EveryBars Improved login, reload and AddClass refresh behavior
Random bot visibility Improved bridge-visible grouped randombots alongside AddClass bots and altbots
Party / raid formation controls Bridge-first and chatless — left-click applies one formation to every controllable bot in the current party or raid through RUN~FORMATION; right-click reads each bot's effective formation through GET~FORMATIONS and displays a localized tooltip
Legacy automatic chat fallback Disabled by default
Outfits Bridge-first listing, create/update, reset, equip and replace
Quests Bridge-first incompleted, completed and all quest lists with dark result frames and per-bot abandon buttons
Game object search Bridge-first results and copy frame without localized chat parsing
RTI controls Bridge-first icon assignment and RTI target actions
Pull Control Bridge-first wait, focus, DPS assist, AoE and RTI pull/attack controls
Combat strategy fine tuning Bridge-first avoid AoE, save mana, threat and behind controls
Disperse controls Bridge-first distance set and disable actions through RUN~POSITION
Loot rules Bridge-first loot enable/disable and loot list profiles through RUN~LOOT
Loot Master frame Implemented optional auto-opening master-loot UI with candidate scoring, preferences and recent loot history
Units / EveryBars Improved login, reload and AddClass refresh behavior
Random bot visibility Improved bridge-visible grouped randombots alongside AddClass bots and altbots
Legacy automatic chat fallback Disabled by default

Requirements

Client

  • World of Warcraft 3.3.5a / Wrath of the Lich King client.
  • Tested with:
    • English / US client
    • German client
    • French client
    • Spanish client
  • Localization files included for enUS, enGB, frFR, esES, deDE, ruRU, zhCN and koKR.

Server


Installation

1. Install the server-side bridge module

Clone the bridge module inside your AzerothCore modules directory:

cd /path/to/azerothcore/modules
git clone https://github.com/Wishmaster117/mod-multibot-bridge.git mod-multibot-bridge

Expected structure:

azerothcore/
└── modules/
    └── mod-multibot-bridge/
        ├── conf/
        └── src/

Then:

  1. Re-run CMake if required by your build workflow.
  2. Rebuild AzerothCore.
  3. Copy/install the generated configuration file if required.
  4. Start the server.
  5. Check that mod-multibot-bridge is loaded.

When the addon connects successfully, the server console should show messages similar to:

MBOT HELLO
MBOT HELLO_ACK
MBOT PING
MBOT PONG
GET~ROSTER
GET~STATES
GET~DETAILS

2. Install the client addon

Clone this repository into your World of Warcraft AddOns directory.

cd "World of Warcraft/Interface/AddOns"
git clone https://github.com/Wishmaster117/MultiBot-Chatless.git MultiBot

Expected structure:

World of Warcraft/
└── Interface/
    └── AddOns/
        └── MultiBot/
            ├── MultiBot.toc
            ├── Core/
            ├── Data/
            ├── Features/
            ├── Icons/
            ├── Libs/
            ├── Locales/
            ├── Strategies/
            ├── Textures/
            └── UI/

The GitHub repository is named MultiBot-Chatless, but the local addon folder must be named MultiBot.

Do not install it like this:

Interface/AddOns/MultiBot/MultiBot/MultiBot.toc

The .toc file must be directly here:

Interface/AddOns/MultiBot/MultiBot.toc

Updating

Update the addon

cd "World of Warcraft/Interface/AddOns/MultiBot"
git pull

Update the bridge module

cd /path/to/azerothcore/modules/mod-multibot-bridge
git pull

Then rebuild your AzerothCore server if the module code changed.


Recommended Configuration

For normal bridge-first usage, keep legacy automatic chat fallback disabled:

MultiBot.allowLegacyChatFallback = false

Only enable it temporarily for debugging or compatibility testing:

MultiBot.allowLegacyChatFallback = true

Usage

Start World of Warcraft and use one of the following commands:

/multibot
/mbot
/mb

You can also use the minimap button.

When the bridge is available, the addon automatically uses structured bridge messages for the main UI refresh paths instead of legacy chat replies.

Manual commands are still available when you intentionally want them.

Examples:

/w BotName who
/w BotName co ?
/w BotName nc ?
/w BotName ss ?

Bridge-First Architecture

Old behavior New behavior
Addon triggers bot commands Addon sends structured MBOT GET~... requests
Bots answer with chat text Bridge returns structured addon messages
Addon parses localized chat lines Addon consumes stable protocol payloads
Automatic UI refresh creates chat spam Main UI refresh paths are mostly chatless

Current Status

Implemented bridge-first / chatless areas:

  • Bridge handshake: HELLO, HELLO_ACK, PING, PONG.
  • Roster refresh.
  • Bot states through STATE_FRAMING_V1, with tokenized per-bot/global transactions, framed responses, bounded state payloads, timeout cleanup and stale-response protection.
  • Strategy mutations through STRATEGY_MUTATION_V1 for migrated controls, with RUN~STRATEGY, STRATEGY_ACK, result counters and explicit rejection/timeout diagnostics.
  • Bot details refresh.
  • Stats refresh.
  • PvP stats refresh.
  • Talent spec list refresh.
  • Inventory refresh with icons and item tooltips.
  • Spellbook refresh, with profession/crafting spells separated from the combat spellbook path.
  • Character Info frame through the bridge with Blizzard-style tabs for class, profession, secondary, weapon and armor skills, reputations and currencies/emblems.
  • Bot bank and guild bank snapshots through the bridge, plus bank deposit/withdraw, guild bank deposit/withdraw and vendor buy item actions.
  • Profession recipe frame through the bridge, opened from profession and secondary skill rows.
  • Glyph refresh with icons and glyph tooltips.
  • Outfits refresh and actions through the bridge.
  • Outfit equip/replace without detailed Equipping [item] ... chat spam.
  • Quest list refresh through the bridge.
  • Game object search results and copy frame through the bridge.
  • RTI controls through the bridge.
  • Pull Control frame through the bridge.
  • Combat strategy fine tuning through the bridge.
  • Disperse controls through the bridge with disperse set <yards> and disperse disable.
  • Party/raid-wide formation application through RUN~FORMATION, with per-bot effective formation inspection through GET~FORMATIONS and no PARTY/RAID chat output.
  • Localized formation status tooltip for all eight addon locale files.
  • Loot rules through the bridge with nc +loot, nc -loot and ll all|normal|gray|quest|skill.
  • Loot Master UI for master-loot distribution with item tooltips, candidate scoring, profession/spec hints, saved preferences and recent loot history.
  • Bridge-visible bot discovery for AddClass bots, altbots and grouped randombots.
  • Custom glyph socket mapping and apply order.
  • Talent tab navigation stability after switching between tabs.
  • Automatic bot reconnect on login/reload for bots already present in the group or raid.
  • Units bar refresh after adding a bot through AddClass.

Validated development milestones on the current line:

  • PR #49 — bridge synchronization, strategy controls, persistent/offline favorites and STATE stabilization.
  • PR #50 — explicit strategy-command rejection diagnostics.
  • PR #51 — mechanical deduplication of shared roster workflow helpers.
  • Final static STATE/strategy audit on 2026-08-07: 57 checks, 0 failures; final manual runtime matrix remains pending.
  • Warlock selector batch validated on 2026-08-08: Stones, Soulstones, Pets and Curses migrated to bridge strategy mutations; authoritative bridge state handling validated; Firestone/Spellstone temporary-enchant switching validated bidirectionally with the companion bridge.

Known migration remaining:

  • Remaining direct SendChatMessage occurrences outside the validated Warlock selector batch still need to be classified as manual command, diagnostic fallback, information message, UI mechanism to migrate, or dead code.
  • The project should be described as bridge-first / mostly chatless, not fully chatless, until these remaining paths are classified/migrated and the final runtime matrix is closed.

Kept intentionally:

  • Manual whisper/playerbot commands for diagnostics.
  • Commands such as who, co ?, nc ?, ss ?.
  • Gameplay write actions that still rely on existing playerbot commands.
  • Optional legacy fallback behavior only for debugging or compatibility.

Remaining Work

The Outfits, RTI, Pull Control, Combat Strategy, Disperse, Loot Rules, Quest, Game Object, Character Info, Profession Recipe, Reputations, Currencies and advanced inventory bank/vendor migrations are implemented. The Loot Master UI is also implemented as an optional client-side master-loot helper. The next step is final stabilization and cleanup.

Planned follow-up work:

  • Regression test login, /reload, large raid groups, Units, EveryBars, Stats, PvP Stats, Inventory, Bot Bank, Guild Bank, Vendor Buy, Spellbook, Character Info, Reputations, Currencies, Profession Recipes, Talents, Glyphs, Outfits, Quests, Game Objects, RTI, Pull Control, Combat Strategies, Disperse, Loot Rules and Loot Master.
  • Verify that MultiBot.allowLegacyChatFallback = false prevents automatic legacy refresh spam on all migrated UI paths.
  • Keep manual diagnostic commands documented and functional.
  • Remove obsolete debug prints.
  • Remove dead legacy parser paths once bridge-first behavior is fully stable.
  • Update screenshots and user documentation after wider testing.

Troubleshooting

The addon does not load

Check that the folder is named exactly:

Interface/AddOns/MultiBot

and that the .toc file is here:

Interface/AddOns/MultiBot/MultiBot.toc

If the .toc file is inside another nested MultiBot folder, the addon is installed incorrectly.

The addon loads but the bridge does not connect

Check that:

  • mod-multibot-bridge is installed in the AzerothCore modules directory.
  • AzerothCore was rebuilt after installing the module.
  • The server was restarted after rebuilding.
  • The bridge module is visible in server logs.
  • Your client is logged into a character connected to the server.
I still see some chat messages

This project removes automatic UI-refresh spam where the bridge path has been implemented.

Manual commands and gameplay actions may still produce intentional messages.

Make sure this value is disabled unless you are debugging:

MultiBot.allowLegacyChatFallback = false
The formation tooltip does not appear or is incomplete

Check that the bridge is connected and that the bots are controllable members of the same party or raid as the player.

A right-click on the Formation button should produce structured bridge traffic similar to:

GET~FORMATIONS~GROUP~~<token>
FORMATIONS_BEGIN~<token>~<count>
FORMATIONS_ITEM~<token>~<botName>~<formation>
FORMATIONS_END~<token>~<sentCount>

The query is raid-wide: it includes all controllable bots in the current party or raid and does not target individual raid subgroups.

Inventory, spellbook, glyphs or outfits do not update

Check the server console for bridge requests such as:

GET~INVENTORY
GET~BANK
GET~GBANK
GET~SPELLBOOK
GET~GLYPHS
GET~OUTFITS
GET~BOT_SKILLS
GET~BOT_REPUTATIONS
GET~BOT_EMBLEMS
GET~PROFESSION_RECIPES
GET~QUESTS
GET~GAMEOBJECTS

If these requests do not appear, the addon may not be connected to the bridge.

The Loot Master frame does not open

Check that:

  • The Loot Master UI option is enabled in the addon options.
  • The group loot method is set to Master Loot.
  • Your character is the detected master looter.
  • The opened loot contains relevant loot slots.

The frame uses the client master-loot candidate API and enriches candidates with cached bridge details when available.

The Loot Master frame does not open

Check that:

  • The Loot Master UI option is enabled in the addon options.
  • The group loot method is set to Master Loot.
  • Your character is the detected master looter.
  • The opened loot contains relevant loot slots.

The frame uses the client master-loot candidate API and enriches candidates with cached bridge details when available.


Project Documentation

The active project documentation is intentionally limited to two files:


Repository Layout

MultiBot-Chatless/
├── Core/
├── Data/
├── Features/
├── Icons/
├── Libs/
├── Locales/
├── Strategies/
├── Textures/
├── UI/
├── docs/
│   ├── DEBUG_RUNBOOK.md
│   └── ROADMAP.md
└── MultiBot.toc

Related Repositories

Repository Description
MultiBot-Chatless Client-side World of Warcraft addon.
mod-multibot-bridge AzerothCore server-side bridge module.
MultiBot-Standalone Deprecated combined repository kept for history.
mod-playerbots Original AzerothCore Playerbots module.

Credits

MultiBot is built for use with AzerothCore mod-playerbots.

Thanks to Macx-Lio for the original MultiBot Module.

Thanks to the Playerbots team and the AzerothCore community.


MultiBot Chatless

Less automatic chat spam. Cleaner UI refreshes. Bridge-first bot data.



Client Addon  •  Bridge Module

About

User interface for AzerothCore-Module "Playerbot".

Resources

Stars

34 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages