## Post A post is a text-based message, for a public or private audience. It can be a reply to other posts. There's not a limit on the length of the text, but all Scuttlebot messages (including their headers) must be less than 8KB. ```js { type: 'post', text: String, channel: String?, root: MsgLink?, branch: MsgLink? | MsgLinks?, recps: FeedLinks?, mentions: Links? } ``` ### Text `text` is a markdown string that includes the body of the post. See [SSB-Markdown](/apis/modules/ssb-markdown.html) for some Scuttlebot-specific markdown rules. ### Channel `channel` is optionally used for categorization. It's similar to subreddits or chat channels. ### Root and branch `root` and `branch` are for replies. `root` should point to the topmost message in the thread. `branch` should point to the message or set of messages in the thread which is being replied to. In the first reply of a thread, `root === branch`, and both should be included. `root` and `branch` should only point to `type: post` messages. If the post is about another message-type, use `mentions`. ### Mentions `mentions` is a generic reference to other feeds, entities, blobs, or channels/hashtags. - User mentions: for when a user is referenced in the `text`. - Blob mentions: for when a file is referected in the `text`. - Message mentions: for when a message is referenced in the `text`. - Channel/hashtag mentions: for when a channel/hashtag is referenced in the `text`. Note: these are not returned in queries using the [`sbot.links`](/docs/advanced/links.html) method, but they are in queries using the [`ssb-backlinks`](https://www.npmjs.com/package/ssb-backlinks) plugin. A link in `mentions` should be an object with property `link` set to a feed id, blob id, message id or hashtag. Additional properties may also be set, such as `name` for a name for the linked entity. For blob mentions, properties describing the file can be used, such as `size` (size in bytes), and `type` (mime-type). ### Recps `recps` is a list of user-links specifying who the message is for. This is typically used for encrypted messages, to specify who the message was encrypted for, but it can be used in unencrypted messages as well.