97 lines
3.1 KiB
Markdown
97 lines
3.1 KiB
Markdown
|
# Introduction
|
||
|
`CHG` is a command introduced with [MSNP2](../versions/msnp2.md).
|
||
|
|
||
|
It is a Notification Server command, without either a request or response payload.
|
||
|
|
||
|
Changes your presence status, and sets your Client Capabilities and MSNObject in later MSNP versions.
|
||
|
|
||
|
# Client/Request
|
||
|
`CHG TrID status {flags} {msnobj}`
|
||
|
|
||
|
Where `status` can be any of the below:
|
||
|
* `NLN` - Online
|
||
|
* `BSY` - Busy
|
||
|
* `IDL` - Idle
|
||
|
* `BRB` - Be Right Back
|
||
|
* `AWY` - Away (previously Away From Keyboard)
|
||
|
* `PHN` - On The Phone
|
||
|
* `LUN` - Out To Lunch
|
||
|
* `HDN` - Appear Offline (previously Invisible)
|
||
|
* `FLN` - Semi-offline. More on this below.
|
||
|
|
||
|
In [MSNP8](../versions/msnp8.md) and higher, `flags`, an optional parameter may be used to
|
||
|
specify your Client Capabilities.
|
||
|
|
||
|
In [MSNP9](../versions/msnp9.md) and higher, `msnobj`, an optional parameter may be used to
|
||
|
add additional information related to your user. Requires that `flags` MUST be set to use.
|
||
|
The MSNObject itself is a XML-like element.
|
||
|
|
||
|
## Status explanations
|
||
|
All statuses except `HDN` and `FLN` will treat you as online.
|
||
|
Which means all users on your Allow List (AL) and Reverse List (RL)
|
||
|
will get all presence changes via the NLN command.
|
||
|
|
||
|
The statuses `HDN` and `FLN` will treat you as offline.
|
||
|
Which means all users on your Allow List (AL) and Reverse List (RL)
|
||
|
will get a FLN command instead of an NLN command.
|
||
|
Also, all attempts to create a Switchboard session will fail automatically,
|
||
|
|
||
|
Exclusive to the `FLN` state, you are put in a very reduced state where you can
|
||
|
only recieve presence changes from other users and resynchronize your Lists.
|
||
|
|
||
|
# Server/Response
|
||
|
`CHG TrID status {flags} {msnobj}`
|
||
|
|
||
|
The server may also send this Asynchronously, if it does, the TrID will be 0.
|
||
|
|
||
|
# Examples
|
||
|
|
||
|
## Changing status to Online
|
||
|
```
|
||
|
C: CHG 1 NLN
|
||
|
S: CHG 1 NLN
|
||
|
```
|
||
|
|
||
|
## Changing status to Idle with Capability Flags
|
||
|
*This only works in [MSNP8](../versions/msnp8.md) and higher.*
|
||
|
```
|
||
|
C: CHG 2 IDL 1
|
||
|
S: CHG 2 IDL 1
|
||
|
```
|
||
|
|
||
|
## Changing status to Busy with Capability Flags and a MSNObject.
|
||
|
*This only works in [MSNP9](../versions/msnp9.md) and higher.*
|
||
|
|
||
|
*NOTE: This has been line-breaked.
|
||
|
Lines beginning with `..` followed by a space are continuations of the previous line.
|
||
|
```
|
||
|
C: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22
|
||
|
.. %20Size%3D%2225235%22%20Type%3D%223%22
|
||
|
.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22
|
||
|
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
|
||
|
.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E
|
||
|
S: CHG 3 BSY 268435500 %3Cmsnobj%20Creator%3D%22example%40hotmail.com%22
|
||
|
.. %20Size%3D%2225235%22%20Type%3D%223%22
|
||
|
.. %20Location%3D%22uexA4DE.dat%22%20Friendly%3D%22AAA%3D%22
|
||
|
.. %20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
|
||
|
.. %20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22%2F%3E
|
||
|
```
|
||
|
|
||
|
## Server Decides it wants you in Semi-Offline mode.
|
||
|
```
|
||
|
S: CHG 0 FLN
|
||
|
```
|
||
|
|
||
|
## Invalid argument
|
||
|
*NOTE: There is no defined behavour for this command specifically.*
|
||
|
```
|
||
|
C: CHG 4 HOT
|
||
|
```
|
||
|
|
||
|
Server disconnects client.
|
||
|
|
||
|
# Known changes
|
||
|
* [MSNP8](../versions/msnp8.md): Added optional Client Capabilities parameter (as parameter 2).
|
||
|
* [MSNP9](../versions/msnp9.md): Added optional MSNObject parameter (as parameter 3).
|
||
|
* Removed in MSNP24.
|