Cheat Sheet
Conversations
- Write your fic like normal until you want to add a chat conversation
- Start conversations with
-- fm: your-config-name --and end them with-- end --- Use any number of dashes or hyphens
- Config names can be anything, but can't have spaces
- If you want multiple conversations to look the same as each other, use the same config name
-- fm: your-config-name --
username: Message goes here.
-- end --
Messages
- Messages are just a username, a colon, and the message text:
username: Message goes here.- Messages from the same user can go on following lines without a username
- Usernames are short names for someone in a chat
- They can have any characters except for spaces, colons (
:), or brackets ([ ]) - Usernames can be replaced with longer names when the chat is rendered by Fictional Messenger
- They can have any characters except for spaces, colons (
- Blank lines are fine
- Lines starting with
//are comments and won't appear in the output - Messages are formatted using Markdown
- e.g.
username: **This is in bold,** and _this is in italics_. username: [this is a link](https://example.com)username: 
- e.g.
-- fm: your-config-name --
jane: This is a message from Jane.
This is a another message from Jane.
// This line is a comment and won't appear in the output.
username: You can make parts of messages **bold** or _italics_
Put links like this: [link text here](https://example.com)
Put images like this: 
-- end --
Timestamps
- Message timestamps are optional
- Timestamps go before or after a username:
[1:23am] username: messageusername [23:59]: message
- Times can be in 12-hour or 24-hour formats. Seconds are optional:
- These are all the same time:
[1:30pm],[13:30],[1:30:00 pm],[13:30:00]
- These are all the same time:
- Dates must be in either year-month-day or month-day form, separated by dashes:
1999-12-31,12-31
- Dates must include a time:
[1999-12-31 11:59 pm],[12-31 23:59]
- Relative timestamps will set the time based on the last timestamp entered.
[+1h]will be one hour after the last entered timestamp[+ 1d 2h 3m 4s]will be one day, two hours, three minutes, and four seconds after the last entered timestamp
- Timestamps will be displayed as specifically as you enter them
- If you only use relative timestamps, then only relative times will be shown
- e.g.
just now,twelve minutes ago,six months ago
- e.g.
- If you only use times, then times with relative dates will be shown:
- e.g.
1:30 PM,Yesterday, 10:01 AM,Two years ago, 10:00 PM
- e.g.
- If you only use months, days, and times, then dates and times with relative years will be shown:
- e.g.
Dec 3, 12:01 AM,Two years ago, April 1, 4:45 PM
- e.g.
- If you use years, months, days, and times, then dates and times will be shown in absolute format:
- e.g.
1999 Dec 31, 11:59 PM
- e.g.
- If you only use relative timestamps, then only relative times will be shown
- Timestamps may not be more specific than the first timestamp in a conversation
- If your first timestamp is
[12:00pm], then a later timestamp with[2000-01-01 1:00am]will result in an error
- If your first timestamp is
- Timestamps must always move forward in time, not backwards
- (Sorry, time travelers.)
- Messages without timestamps will be automatically given a timestamp 30 seconds later than the last message
- This can be altered with the
message-intervalattribute, ormifor short[message-interval = +1m30s]will make messages be one minute and thirty seconds apart[mi=+2h]will make messages be two hours apart
- This can be altered with the
-- fm: your-config-name --
// A timestamp that sets the start date and time of the conversation
[1999-12-31 01:00:00 am]
username: This message will have the above timestamp.
[5:30am] username: This timestamp will use the current conversation's current date,
so it's now Dec. 31, 1999, at 5:30 AM.
username: Timestamps are in [year-month-day hour:minute:second] format.
Years and dates are optional. Time can be 12-hour or 24-hour.
[+1h] username: This is a relative timestamp. It'll make this message be an hour after the previous one.
[+1d 2h 3m 4s] username: This message is one day, two hours, three minutes, and four seconds after.
other-username: Messages without timestamps will be moved forward 30 seconds from the last message's timestamp.
This can be controlled like:
[message-interval = +1h]
other-username: So now each message is one hour after the last.
// Shorthand for message-interval:
[mi=+1m30s]
other-username: Now messages are 1 minute and 30 seconds apart.
// This last timestamp will set the conversation timestamp, the time at which the conversation is being read
[2999-12-31 01:00:00 am]
// Now it's the distant future. All timestamps will be shown as full dates and times, instead of e.g. "Just now" or "Yesterday at 3:30 PM"
-- end --
Attributes
- Attributes can change how messages or conversations look or act
- Attributes have the format
[name = value], wherenameis the name of the attribute andvalueis what the attribute is set to - Most attributes are specific to particular styles, so check out your chosen style's docs for details
- Universal attributes are:
message-interval- Short Name:
mi - Location: Conversation attribute or message attribute
- Value: Any valid relative timestamp
- Default Value:
+30s - Examples:
[mi = +2m 30s],[message-interval = +0] - Description: Sets the interval that timestamps will automatically advance for messages without timestamps.
- Short Name:
markdown- Short Name:
md - Location: Conversation attribute or message attribute
- Value:
onoroff - Default Value:
on - Examples:
[md=off],[markdown = on] - Description: Controls whether Markdown parsing in messages is enabled. If set on a message, will only affect that message. If set on a conversation, will affect all following messages.
- Short Name:
-- fm: your-config-name --
[message-interval = +0s] username: Messages will now be zero seconds apart.
[md=off] username: This message won't use Markdown, so **this** and _this_ will appear exactly as written.
-- end --