𝌎Chapter-Ii-DocsDiscord

m commands

m commands are deleted after triggering a response and are not seen by bots.

m mu @<username>: regenerate message

m continue @<username>: continue message

dotted messages

messages beginning with a "." (but not ". ") are invisible to ems unless ignore_dotted_messages=false. This includes the dotted commands below:

dotted commands

history splicing (allows recursive forking)

This is implemented through .history messages, which need to be formatted like this example:

.history @em1 @em2
---
first: https://discord.com/channels/{server_id}/{channel_id}/{message_id}
last: https://discord.com/channels/{server_id}/{channel_id}/{message_id}
passthrough: false
  • the order of the yaml properties doesn't matter

  • the --- is necessary

  • history splicing will affect all the ems tagged in the first line. If no ems are tagged, all are affected.

  • first and last must link to Discord messages in the same server, but can be from any channel or thread.

  • first is optional, and must be in the same channel/thread as last (for now). If first is used, message history between first and last (inclusive) will be inserted at the position of the .history message.

  • If only last is used, all the history up to last will be inserted there, according to the same logic (including splicing histories via .history messages) as message history in general.

  • passthrough is an optional parameter that defaults to false. If set to true, any message history in the channel where the .history message was sent before the .history message is included before the messages spliced in due to the .history message. If false, all history above the .history message in that channel is ignored.

so the most straightforward way to start a new loom branch is to make a new thread and send a message like:

.history
---
last: https://discord.com/channels/{server_id}/{channel_id}/{message_id}

You can also send

.history
---

to obscure previous conversation history (because passthrough defaults to false)

modifying configs through Discord

You can modify em configs on the fly by sending messages with yaml configurations, and then pinning the message. (Note: pinning messages requires Discord permissions.)

Configs can either be sent in the message body or as an attachment, and can either apply to all ems or particular ems.

specifics of .config behavior

  • config modifications are only applied if the associated message is pinned. Unpin or delete the message to remove the modification.

  • config modifications in all the pinned messages of a channel/thread are applied on top of each other, with later pins overriding earlier ones only where there's a conflict.

  • only config modifications pinned in the current channel/thread are applied. They are not inherited from the main channel / .history messages.

apply a config to all ems

send a message in this format:

.config
---
temperature: 0
recency_window: 10
may_speak:
  - arago
  - Claude Sonnet

or attach a file named config.yaml that only contains the yaml.

apply a config to particular ems

send a message in this format:

.config @em1 @em2
---
temperature: 0
recency_window: 10

or attach a file named config-{em1}-{em2}.yaml that only contains the yaml.
Use em usernames or emnames in the list.

property attachments

If you send a .config message or a message with a config.yaml attachment, you can also send (additional) attachments named after keys to the same message to add key/value pairs to the config yaml. These should be named like {key}.yaml or {key}.txt (e.g. message_history_header.txt), and contain only the value of the property.