Skip to topic | Skip to bottom
Home
Lily
Lily.ClientMessagesr1.6 - 02 Aug 2006 - 22:26 - CoKetopic end

Start of topic | Skip to actions

Client Messages


These are "out of band" commands sent from the client up to the server. The line prefix "#$#" ensures that the server grants special handling to the incoming line. It will neither pass it on for parsing as a user command, nor allow it to be read into a buffer (a la /INFO). The number of commands is fairly few, largely because #$# options does a better job than this interface.

There are only two messages which can be safely sent prior to the completion of the login process: #$# ping and #$# options. The former because it depends in no way on the state or validity of the user attached to the connection. The latter because the information is specially preserved in a list attached to the connection. When the login completes the list of options is then processed by the user object.

#$# client clientname version
Provides information about the connecting client and its revision number. This information is useful for temporary patches to the server when output is changed, and is provides statistical information for client developers themselves (see /DISPLAY CLIENTS). Older clients used this command to register with the server. The server would then assign options based on the client name and version. Newer clients use the #$# options command. It is still strongly advised you use this command so the server administrators can record client use for statistical reasons, and so older servers will properly assign at least default options.
 

#$# client_name clientname
Deprecated, please use #$# client instead.
 

#$# client_version version
Deprecated, please use #$# client instead.
 

#$# delimiters predelimiter postdelimiter
Deprecated, please use #$# options +leaf-cmd instead.
 

#$# export_file filetype lines [object]
Used to send files from the client into the lilyCore server. Please see FileManagement for more information on this command.
 

#$# help_indicies
this returns the top-level list of help indices on the server, which are the valid arguments for ?lshelp. However, it only returns top-level indices and not any sub-indices, so ?lsindex should be preferred, despite its less clean formatting.
Should be considered deprecated.
 

#$# import_file
Used to fetch files to the client from the lilyCore server. Please see FileManagement for more information on this command.
 

#$# master_objects
This lists all of the properties, one per line, in root (#0) which are defined as an object number, and which contain property or verb definitions. This message is only for use by lilyPAD, and was built to help populate the 'Objects' dialog.
 

#$# options ...
Toggles support for a variety of client options. Some of these will change the nature of the connection between the client and the server, while others simply generate a message. See ClientOptions.
 

#$# ping
Enables an out-of-band mechanism for connection keepalives at the server-level. Previously clients used NOP statements like /WHY to manage a keep-alive, but this often resulted in such commands being made part of info and memo buffers. The reply to a #$# ping client message is the server message %PONG.
 

#$# props object
This lists all of the properties, one per line, on the object listed. The object can either be in standard MOO format, #number, or in root (#0) property name format, $foo.
 

#$# screen_width size
This sets the screen width used by the Core to format a wide variety of events, including CONNECT messages and emotes, for non-SLCP clients. The value must be between 40 and 300, inclusive. The user may check the current value with the /SET command. This value is nearly useless for SLCP clients since they have access to native screen size information.
 

#$# slcp-sync [object ...]
Retransmits the entire SLCP database of %USER, %DISC, and %DATA messages. This command can be used to reload an SLCP database in the client. If the optional object argument is used, it retransmits the %USER or %DISC entry for the object. The object must be in standard MOO format, #number.
 

#$# verbs object
This lists all of the verbs, one per line, on the object listed. The object can either be in standard MOO format, #number, or in root (#0) property name format, $foo.
 

#$# what object
This command is currently undocumented, but works. The object must be in standard MOO format, #number. The client will receive in response various SLCP %DATA events. These events will include things like the topic of the discussion, the lists of members, permitted users, depermitted users, authors, moderators, etc. (As far as I can tell, this is a no-op unless you have +slcp turned on when you connect. --ChrisParker)
 

#$# who object
This appears to be completely unimplemented.
 

#$# whoami
Immediately sends the %whoami server message.


Revision 3, 24 September 2001, ChristianRatliff

Revision 4, 22 August 2002, DD

Revision 5, 8 October 2002, CAR [PR#504]


to top


You are here: Lily > DeveloperGuide > WritingAClient > ClientMessages

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this site? Contact Christopher Masto <chris@masto.com>.