msnp-wiki/docs/commands/lsg.md
yellows111 f267b61dde
ILN, NLN, REA, SND, ADG, LSG, and MSNP4 changes
information for MSNP4 found: adds the client codebase parameter to SND and CVR (and an empty to CVQ, but that lasted all the way to MSNP7 lol, does that for MSNP3 fallback too which is kind of funny)

18 commands left.
2024-10-18 23:52:48 +01:00

3 KiB

Introduction

LSG is a command introduced with MSNP7.

It is a Notification Server command, without a request or response payload.

It retrieves all groups.

Client/Request

LSG TrID

Server/Response

Outside of SYN

LSG TrID list-version index size-of-list group-id group-name 0

Where list-version is the current List Version.

Where index is a number that can not go out of size-of-list. If you have not added any groups, this value is always 1.

Where size-of-list is the upper bounds for index. If you have not added any groups, this value is always 1.

Where group-id is the relevant group's identification number, allowed values are 0 to 29. If you have not added any groups, this value is always 0.

Where group-nameis the relevant group's display name, URL encoded if needed, up to 61 bytes. If you have not added any groups, this value is always ~.

Where 0 is always 0.

In SYN

First generation

Applies for MSNP7.

Same as the response outside of SYN.

Second generation

Applies for MSNP8 and MSNP9.

LSG group-id group-name 0

Third generation

Since MSNP10.

LSG group-name [ group-id | group-guid ]

Where group-id is the group's identification number. If ABCHMigrated: 1 is set in the initial profile, it is instead group-guid, which is the group's GUID.

Examples

Client-initiated

No groups created

NOTE: Specifiying this as the LSG in SYN will cause the client to attempt to re-initialize the default groups. Please review the SYN page for what the client attempts to do here.

C: LSG 1
S: LSG 1 255 1 1 0 ~ 0

Have created groups

C: LSG 2
S: LSG 2 255 1 2 0 Other%20Contacts 0
S: LSG 2 255 2 2 1 Friends 0

From SYN

Using first generation

Only in MSNP7.

C: SYN 3 0
S: SYN 3 4

...

S: LSG 3 4 1 2 0 Other%20Contacts 0
S: LSG 3 4 2 2 1 Friends 0

Using second generation

Only in MSNP8 and MSNP9.

C: SYN 4 0
S: SYN 4 5

...

S: LSG 0 Other%20Contacts 0
S: LSG 1 Friends 0

Using third generation, with IDs

Only in MSNP10 with ABCHMigrated: 0.

C: SYN 5 0 0
S: SYN 5 6 0 1 2

...

S: LSG Other%20Contacts 0
S: LSG Friends 1

Using third generation, with GUIDs

Since MSNP10 with ABCHMigrated: 1.

C: SYN 6 0 0
S: SYN 6 2024-10-17T11:46:35.1100000-07:00 2024-10-17T11:46:35.1100000-07:00 1 2

...

S: LSG Other%20Contacts d6deeacd-7849-4de4-93c5-d130915d0042
S: LSG Friends f60efbe7-94af-4b16-b926-e4e10878d329

Known changes

  • MSNP8: Removed iterator and List Version parameters from SYN version.
  • MSNP10: Removed unused 0 parameter and support for the ~ quasi-group. Changed group IDs to group GUIDs if ABCHMigrated: 1.