Details

Addon ID: 26713
Addon Version: 0.6.6
Expansion: 1.60
Upload date: Oct 06, 2026
Last Updated: Oct 06, 2026
Downloads: Less than 100
Website: Source Link

Expansion



Developers

Pmptasty
Pmptasty Creator

Personal Shopper - Community Buy Orders for Every Version of WoW

One download works on Classic Era and Anniversary realms, Burning Crusade, Wrath, Cataclysm, Mists, Retail, and World of Warcraft: Forever. On Forever the addon treats the game as Classic Era content on a modern client, so item categories match what actually drops there.

Tired of sitting in trade chat waiting for someone to sell you that one recipe or rare material? Personal Shopper lets you post buy orders for any item with a quantity and price, visible server-wide to all Personal Shopper users β€” so sellers can find you, fulfill your order at the mailbox, and get paid automatically via COD.

The Problem

WoW Classic has no built-in way to post a "WTB" that persists beyond a single chat message. Sellers come and go, you miss each other's timing, and coordinating a trade across different play sessions is pure friction. You end up either camping trade chat or going without the items you need.

For crafters and recipe hunters it's even worse β€” tracking which recipes you still need across multiple profession windows, then cross-referencing what's on the Auction House, means opening the AH and searching dozens of times manually every time you log in.

The Solution

Personal Shopper uses a dedicated addon communication channel shared across all Personal Shopper users on your realm. Buy orders are broadcast automatically, kept in sync in real time, and fulfilled at the mailbox with zero manual setup β€” the addon attaches items, sets the COD amount, and addresses the mail for you.

Core Features

Server-Wide Buy Orders

  • Post buy orders for any item with a quantity and max price per item
  • Orders are visible server-wide to all Personal Shopper users, regardless of what zone they're in
  • Faction-aware order board β€” Horde and Alliance orders are kept separate
  • Orders persist across sessions and sync automatically when players come online
  • Completed and cancelled orders tracked in Order History

Smart Mailbox Fulfillment

  • At any mailbox, open Available Orders and click Fulfill β€” a Have column shows how many of the item are in your bags
  • The addon addresses the mail, attaches the right items, and sets the COD amount; you click Send
  • Stack splitting β€” if the exact quantity means splitting a stack, the addon does it for you
  • Automatic order tracking β€” when the buyer accepts the COD mail, their order's remaining quantity updates and the change is broadcast; if a mail holds more than the order still needed, only the needed amount is counted and the buyer is told
  • Price proposals β€” think the buyer is offering too little? Click Propose Price. The buyer gets an Accept / Decline popup, and accepting raises the order's price for everyone

Shopping List

  • Personal shopping list to track items you're looking for β€” recipes, rare materials, anything
  • Add items by name with autocomplete, or in bulk from your missing profession recipes
  • Set a max price per item, assign priority (High / Medium / Low), organize into categories, and add notes; filter and sort the list by any of them
  • Tracks how many of each item you already own, and can remove an item (and cancel your buy order for it) automatically once your bags hold enough
  • Account-wide β€” your shopping list is shared across all your characters
  • Each item has one-click Create Order and Announce buttons

Auction House Scanner

  • At the Auction House, click Scan AH to search for every item on your shopping list in one pass β€” results open in the AH Scan tab
  • Results show current buyout price, quantity available, and whether each listing is within your max price
  • Green / red indicators highlight deals vs. over-budget listings at a glance
  • Scan everything, only high-priority items, or a hand-picked set; hide over-budget listings; skip items you already have enough of; adjustable delay between queries to stay under the AH's limits

Missing Recipe Tracker

  • In the Shopping List tab, click Collector → Missing Recipes and pick a profession to see the recipe scrolls you haven't learned
  • Leaves out recipes only a trainer teaches, seasonal recipes, and recipes locked to a different specialization (Dragonscale / Elemental / Tribal Leatherworking, Gnomish / Goblin Engineering, Armorsmith / Weaponsmith) β€” open the profession window once so the addon knows which specialization you have
  • Tick the ones you want and add them to your shopping list in one click

GoldFundMe

  • Post a gold-goal campaign β€” a mount, an epic, a guild project β€” with a title, a target amount, and optionally the item you're saving for
  • Campaigns are visible server-wide, or to your guild only
  • Other players can Pledge Gold (a public commitment, nothing moves automatically) or Donate via Mail β€” a donation sent with the campaign's mail subject is recorded automatically on both sides
  • Progress bar, donor list, and one-click Announce; the owner updates their own savings, marks the campaign funded, or cancels it

Announcements

  • Every order, shopping-list item and campaign has an Announce button that posts a ready-made WTB line
  • Choose where it goes in Settings → Announcements: guild chat and any numbered channels you're in. With GreenWall installed, guild announcements are relayed to the confederation

Real-Time Peer-to-Peer Sync

  • Runs over a hidden addon channel β€” no visible chat spam
  • Order creates, updates, fulfillments, and cancellations broadcast instantly to all online users
  • Players who come online later catch up automatically; cancelled and completed orders stay gone
  • Communication channel status visible via /ps comms

UI & Customization

  • Tabbed interface: My Orders, Available Orders, Shopping List, AH Scan, Order History, GoldFundMe
  • Minimap button β€” left-click to open/close the main window, right-click to open/close the settings panel; the tooltip shows your active and available order counts
  • Titan Panel (and any other LibDataBroker display) β€” shows the number of available orders in your bar
  • Item autocomplete powered by a full item database β€” 14,889 entries for Classic Era, 164,799 entries for Retail β€” no need to have the item cached
  • Price input supports natural formats: 5g, 30s, 75c, 1g3s5c
  • Window position persists across sessions and /reload
  • Search, sort and filter by item type on both the My Orders and Available Orders lists
  • Options: open the window automatically at the Auction House or the mailbox; chat notifications for new orders, fulfilments and price proposals; settings profiles; a dedicated debug chat tab
  • With TOGBankClassic installed, a shopping-list item the guild bank holds gets a → Bank button that sends a withdrawal request to a banker

How It Works

Communication System

Personal Shopper joins a hidden chat channel (PersonalShopper) that every user on the realm shares, and uses the DeltaSync library for direct player-to-player sync. The communication flow is:

  1. On load β€” Personal Shopper asks online users for the current order board and merges what comes back with what it remembered from last time
  2. On order create β€” the order is broadcast to all online users with item, quantity, price, and character info
  3. On fulfillment β€” the buyer's addon decrements the quantity when the COD mail is accepted and broadcasts the update; fully-filled orders leave the board
  4. On cancel β€” a removal notification is sent so all clients drop the listing immediately, and a completed or cancelled order cannot be brought back by a player who was offline

Mailbox Fulfillment Flow

  1. Find an order you want to fill in the Available Orders tab
  2. Walk to any mailbox and open it (the window can open there automatically β€” see Options)
  3. Click Fulfill, then Fulfill Order β€” Personal Shopper fills in the recipient, subject, COD amount, and attaches the right items automatically
  4. Click Send β€” the buyer receives the COD mail and pays upon acceptance

Slash Commands

  • /ps β€” Open or close the main window (/ps show, /ps hide, /personalshopper also work)
  • /ps minimap β€” Toggle the minimap button
  • /ps options β€” Open the options panel
  • /ps comms β€” Show communication channel status
  • /ps debug β€” Toggle debug output; /ps debugtab β€” toggle a dedicated debug chat tab
  • /ps iteminfo <itemId>, /ps dumpsl β€” diagnostic printouts for bug reports
  • /ps help β€” Show all commands

Requirements

  • Ace3 (AceAddon-3.0, AceEvent-3.0, AceConsole-3.0, AceComm-3.0, AceSerializer-3.0, AceDB-3.0, AceGUI-3.0, AceConfig-3.0) — auto-installed by CurseForge
  • DeltaSync — data sync library, auto-installed by CurseForge; transitively pulls in AceCommQueue-1.0
  • VersionCheck-1.0 — auto-installed by CurseForge
  • WoW Classic Era, TBC, WotLK, Cataclysm, MoP, Retail (The War Within), or World of Warcraft: Forever — all versions supported via compatibility shims

Recent Updates

v0.6.6 (Latest — 2026-09-20)

New

  • World of Warcraft: Forever is now supported. The addon loads there and treats it as Classic Era content on a modern client, so the item categories match what actually drops. This has not yet been tried on a live Forever realm — if something looks wrong there, please report it.
  • Price proposals can now be answered. When a seller clicks Propose Price on your order, you get an Accept / Decline popup. Accepting raises your order's price and every other player's copy follows; the seller is told either way. Previously the proposal only printed to chat and there was no way to accept it.

Changed

  • The addon now declares the current game builds — live Classic Era, TBC Anniversary, Titan Reforged, Mists and Retail — so it no longer shows as out of date on those clients.
  • The download is about 2.3 MB smaller: developer tooling and documentation that had been slipping into the release package are now excluded.
  • Receiving a new buy order now prints one line in chat (who wants what, how many, at what price). Turn it off under Settings → General → Notifications.

Fixed

  • After updating DeltaSync to 4.3.0, your own buy orders could reappear in Available Orders as if another player had posted them, and your own GoldFundMe campaign could lose its owner controls and stop recording donations sent to you. Both are fixed.
  • A copy of your GoldFundMe campaign relayed back by another player can no longer overwrite your own record, including donations you had received but not yet synced.
  • Version checking never actually registered PersonalShopper, so you were never told when a newer version was available. It does now.
  • The three Notifications toggles in Settings (New Orders, Order Fulfilled, Price Proposals) did nothing. They now control the matching chat lines.
  • When a seller mailed more than your order still needed, the addon told you to "check your mail for a return" that was never sent. It now says how many were counted and that the rest are yours to sort out.
  • The Collector button's tooltip described pasting a list of item names, which it cannot do; it now describes what the button does (missing recipes).
  • The PersonalShopper chat channel is hidden from your chat window using the current game API rather than a deprecated one.

v0.6.5 (2026-04-27)

  • chore: DeltaSync moved to external dependency — PersonalShopper no longer ships its own copy of the DeltaSync sync library. CurseForge automatically installs the standalone DeltaSync addon (and its dependencies AceCommQueue-1.0 and Ace3) when you install or update PersonalShopper. Drops ~1500 lines of code from the package and ensures every addon that uses DeltaSync (PersonalShopper, TOGProfessionMaster, etc.) shares one canonical revision instead of drifting per-addon.

v0.6.4 (2026-04-15)

  • fix: LUA_WARNING: Error loading DB/ItemDatabase_Retail.lua on TBC Anniversary — the monolithic retail item database (~6.2 MB, ~165k lines) exceeded the Lua per-file size limit on TBC Anniversary and similar older clients, producing a compile-time warning on every login. Fixed by splitting the file into four smaller files (DB/ItemDatabase_Retail_1.lua – _4.lua, ~1.6–2 MB each), one IIFE chunk per file. All four are listed in PersonalShopper.toc. The retail item database generator (tools/generate-retail-item-db.ps1) now writes four files by default.

v0.6.3 (2026-04-15)

  • fix: Collector Missing Recipes now works for Enchanting on Classic Era — clicking Collector → Missing Recipes → Enchanting was printing "Please open a profession window first" even with the Enchanting window open. Root cause: Blizzard backported a partial C_TradeSkillUI namespace to some Classic Era builds, with some 1.x patches also removing GetTradeSkillLine and GetCraftLine entirely — causing all C_TradeSkillUI-presence checks to misclassify those clients as retail. The retail path's C_TradeSkillUI.GetTradeSkillLine() returns 0 for Enchanting (which uses the Craft window, not the TradeSkill API) — producing "Please open a profession window first." Four-part fix: (1) PS_TradeSkill.IsRetail() now also requires GetCraftLine == nil; (2) PS_TradeSkill.GetAdapters() retail guard updated to match; (3) CRAFT_SHOW/CRAFT_UPDATE event handler changed from bare if C_TradeSkillUI then to if PS_TradeSkill.IsRetail() then; (4) ShowMissingRecipesDialog now always tries GetNumSkillLines()-based profession enumeration first instead of relying on IsRetail() to pick a path — on any Classic build this yields the player's professions and the Classic recipe DB + IsSpellKnown path runs without the window needing to be open; on true retail GetNumSkillLines() returns 0 and the function falls through to the retail path as before. (Compat/TradeSkillCompat.lua, GUI/ShoppingListTab.lua)

v0.6.2 (2026-04-14)

  • fix: Collector Missing Recipes now works without opening the profession window first — the feature previously required the player's profession window to be open so CRAFT_SHOW/TRADE_SKILL_SHOW could build the known-recipes cache; Enchanters on Classic Era were most affected since Enchanting uses the Craft window (not the Trade Skill window). Fixed by adding an on-demand fallback that calls IsSpellKnown(spellID, false) for every entry in the recipe DB and builds the cache in place; result is stored so the fallback only runs once per session. (GUI/ShoppingListTab.lua)

Notes for v0.6.1 and earlier are in the addon's full changelog.

Community

If you have any questions, comments, bug reports, or feature requests, please feel free to reach out on Discord or open an issue on GitHub!

You must be logged in to leave a comment.

Comments (0)