msnp-wiki/docs/commands/lsg.md
yellows111 9144709921
found what that parameter does, 923 and 924 info
apparently 923 and 924 are supported way earlier

it's REALLY confusing apparently because yes those clients DO handle those codes, but HOW?

makes me want to throw out the error code tables because it seems like different clients implement them in different ways with no established rule, especially those two because only 924 doesn't appear in plain text in the main binary until P7, but it absolutely exists before then?

And for 923... I don't even know. It's not in the main binary (at all). Let alone in later versions.
2024-10-24 15:17:51 +01:00

3.1 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

Main article: 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.
  • Hard-removed in November 2003, Removed outside of SYN, now just automatically disconnects.