42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
|
---
|
||
|
layout: page
|
||
|
title: Node to Node Messaging
|
||
|
---
|
||
|
## The Node to Node Messaging Module
|
||
|
The node to node messaging (`node_msg`) module allows users to send messages to one or more users on different nodes. Messages delivered to nodes follow standard [User Interruption](/docs/misc/user-interrupt.md) rules.
|
||
|
|
||
|
## Configuration
|
||
|
### Config Block
|
||
|
Available `config` block entries:
|
||
|
* `dateTimeFormat`: [moment.js](https://momentjs.com) style format. Defaults to current theme → system `short` format.
|
||
|
* `messageFormat`: Format string for sent messages. Defaults to `Message from {fromUserName} on node {fromNodeId}:\r\n{message}`. The following format object members are available:
|
||
|
* `fromUserName`: Username who sent the message.
|
||
|
* `fromRealName`: Real name of user who sent the message.
|
||
|
* `fromNodeId`: Node ID where the message was sent from.
|
||
|
* `message`: User entered message. May contain pipe color codes.
|
||
|
* `timestamp`: A timestamp formatted using `dateTimeFormat` above.
|
||
|
* `art`: Block containing:
|
||
|
* `header`: Art spec for header to display with message.
|
||
|
* `footer`: Art spec for footer to display with message.
|
||
|
|
||
|
## Theming
|
||
|
### MCI Codes
|
||
|
1. Node selection. Must be a View that allows lists such as `SpinnerMenuView` (`%SM1`), `HorizontalMenuView` (`%HM1`), etc.
|
||
|
2. Message entry (`%ET2`).
|
||
|
3. Message preview (`%TL3`). A rendered (that is, pipe codes resolved) preview of the text in `%ET2`.
|
||
|
|
||
|
10+: Custom using `itemFormat`. See below.
|
||
|
|
||
|
### Item Format
|
||
|
The following `itemFormat` object is provided for MCI 1 and 10+ for the currently selected item/node:
|
||
|
* `text`: Node ID or "-ALL-" (All nodes).
|
||
|
* `node`: Node ID or `-1` in the case of all nodes.
|
||
|
* `userId`: User ID.
|
||
|
* `action`: User's action.
|
||
|
* `userName`: Username.
|
||
|
* `realName`: Real name.
|
||
|
* `location`: User's location.
|
||
|
* `affils`: Affiliations.
|
||
|
* `timeOn`: How long the user has been online (approx).
|
||
|
|