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
andlast
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 aslast
(for now). Iffirst
is used, message history betweenfirst
andlast
(inclusive) will be inserted at the position of the.history
message. -
If only
last
is used, all the history up tolast
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.