- summary: Asserts the complete set of chat channels the character is on, as a subscribe list and an unsubscribe list.
- area: Game.Chat
Asserts the complete set of chat channels the character is on, as a subscribe list and an unsubscribe list.
Kind request · Area Game.Chat
A COMPLETE STATE ASSERTION, NOT A DELTA. The client enumerates every channel it can map and puts each one into exactly one of the two lists. A channel you leave out of both is not "unchanged" as far as the real client's traffic shape is concerned - it simply never happens.
So: build both lists from your full channel model, every time. Sending a
one-element subscribe list is a shape the real client does not produce.
subscribe is what you want on, unsubscribe what you want off, and together
they partition the mappable channels. The roles are read from the writer's own
branch polarity, not from field order.
The reference build had a singular subscribe-one-channel request instead; the batch form replaced it before the earliest dumped 3.x build, so there is no unobfuscated declaration for this one.
When you may send it
- Requires
character_loadedobserved - Raised by: the channel set changing; the writer always walks every mappable channel, so there is no incremental form proven
Related messages
- Reply not yet recovered: the server re-states the resulting subscriptions through
ChannelUpdateEventandChatChannelsEnabledEvent; whether both arrive depends on what actually changed, so react to what comes rather than waiting.
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | subscribe | repeated Channel | The channels the character wants to be on. Element type Channel.Name ours: beta has no such message and GameMapping names types only. | required |
| 2 | unsubscribe | repeated Channel | The channels the character wants off. Element type Channel. Together with subscribe this is a complete partition.Name ours: beta has no such message and GameMapping names types only. | required |