File Details
GuildRoster-v0.0.2
- R
- May 22, 2026
- 21.74 KB
- 0
- 12.0.1+6
- Retail + 2
File Name
GuildRoster-GuildRoster-v0.0.2.zip
Supported Versions
- 12.0.1
- 12.0.0
- 11.2.7
- 4.4.0
- 3.4.3
- 2.5.5
- 1.15.8
Changelog
All notable changes to LibGuildRoster-1.0 are documented here.
0.0.2 — Locale fix, expanded member data, rank-change callback
LibStub MINOR bumped to 3.
Fixed
- CHAT_MSG_SYSTEM patterns are now locale-aware. The hardcoded English
strings (
"has come online","has joined the guild", etc.) silently failed on every non-English client — German, French, Russian, Chinese, and others were all reduced to picking up online/offline/join/leave transitions only on the next fullGUILD_ROSTER_UPDATErebuild instead of in real time. Patterns are now built once at file load from Blizzard's localized format-string globals (ERR_FRIEND_ONLINE_SS,ERR_FRIEND_OFFLINE_S,ERR_GUILD_JOIN_S,ERR_GUILD_LEAVE_S,ERR_GUILD_REMOVE_SS). Chat-hyperlink markup is stripped from incoming messages before matching, and brackets[Name]are made optional in the pattern so both bracketed and bare forms match.
Added
- Expanded
GetMemberfields. The member table now includeszone,publicNote,officerNote,status(0 = available, 1 = AFK, 2 = DND),isMobile(Companion App connection), andlastOnline({ years, months, days, hours }for offline members, nil otherwise). Previously these were silently discarded from theGetGuildRosterInforeturn — consumers had to re-iterate the whole roster themselves to recover them. lib:IsReady()getter. Returns true once the first stabilized full roster build has completed. Consumers that register callbacks after the lib has already initialized (common on/reload, or when the consumer addon loads later than the lib) would otherwise miss theOnRosterReadyfire; checkIsReady()and run the ready-time logic inline when it returns true.OnMemberRankChanged(name, oldRankIndex, newRankIndex)callback. Fires when a member's rank changes between rebuilds. Skipped during the initial roster stream so partial-snapshot rank transitions can't misfire; only fires for members that existed in the previous roster.
0.0.1 — Initial release
First release of LibGuildRoster-1.0 as a standalone CurseForge library, extracted from its prior home as a vendored copy inside FastGuildInvite. Pre-1.0 versioning while the standalone packaging and external-reference flow are validated end-to-end against a real consumer build.
Library behaviour
- Tracks the WoW guild roster with wipe-and-rebuild semantics — no stale ex-members possible.
GUILD_ROSTER_UPDATEdrives full rebuilds;CHAT_MSG_SYSTEMdrives real-time online / offline / join / leave transitions between rebuilds.- Retries the initial roster fetch up to 5 times at login to handle the
window where
GetNumGuildMembers()returns 0. - Stabilization gate (2 consecutive rebuilds with the same member total)
before
OnRosterReadyfires, preventing partial-snapshot misfires during the retail login roster stream. OnMemberJoinedfires only from the authoritativeCHAT_MSG_SYSTEM"X has joined the guild" message, never from roster diffs.- Recently-left dedup (60 s TTL) prevents stale
GUILD_ROSTER_UPDATEresponses from misfiringOnMemberJoinedfor a player who just left. - On retail, calls
SetGuildRosterShowOffline(true)atPLAYER_LOGINso the rebuilt roster sees the full guild rather than only online members.
Compatibility
- Classic Era (Interface 11508)
- Burning Crusade Classic (Interface 20505)
- Wrath Classic (Interface 30403)
- Cataclysm Classic (Interface 40400)
- Mainline / Retail (Interface 110207, 120001, 120000)
Public API
IsInGuild, IsOnline, GetMember, GetAllMembers, GetOnlineMembers.
Callbacks
OnRosterReady, OnRosterUpdated, OnMemberOnline, OnMemberOffline,
OnMemberJoined, OnMemberLeft.

