Skip to content

Latest commit

 

History

History
91 lines (65 loc) · 3.52 KB

player.md

File metadata and controls

91 lines (65 loc) · 3.52 KB

Player's Guide to TaleWeave AI

Contents

Playing in Discord

Discord command syntax

Note 1: Because TaleWeave AI offers a dynamic set of actions depending on the game world, it does not currently use Discord's command feature. If you know a way to make this work with constantly-changing actions, please let me know.

Note 2: When interacting with the Discord bot, you need to ping it with each message. Your server admin can allow the bot to see all messages, with and without pings, but you must ping the bot by default.

The Discord bot offers the following commands:

  • !taleweave or the bot name, if your admin changed it
    • prints the name of the active world
  • !help
    • prints the available commands and their parameters
  • !join <character>
    • join the game as the specified character
  • !leave
    • leave the game, if you are playing
  • !characters
    • list the available characters in the game
  • !players
    • list the players currently in the game

Other messages will be treated as in-character input and used as your character's action or reply, depending on the current prompt.

Rendering events in Discord

You can render recent events in Discord by reacting to them with the camera emoji: 📷

If the bot can render that event, it will acknowledge your request with the camera flash emoji: 📸

When the images are ready, they will be posted to Discord as a reply to the event message.

Prompt syntax

The web client displays a menu with all of the available actions on your turn, but you can also input your own actions through text.

Prompt action syntax

In order to call functions or use actions from your prompt replies, you (or more likely your GUI) can send valid JSON, or you can use this prompt function syntax. Discord and the web client both support this syntax.

To use the prompt function syntax, start your prompt with ~ and use the syntax ~action:parameter=value,next=value where action is the name of the action (the function being called) and the remainder are parameters to be passed into the function.

For example:

~action_move:direction=north
~action_tell:character=Alice,message=Hello
~action_use:item=potion

There are some limits on this syntax:

  • the function name cannot contain :
    • this is true in Python as well and should not be a problem
  • the parameter names cannot contain =
    • this is also true in Python and should not be a problem
  • the values cannot contain ,
    • this is a problem and support for quotes is needed

Prompt replies

While playing TaleWeave AI, the LLM-powered characters can ask you questions and start conversations with your character. When this happens, you will be prompted with their question or message.

You can end the conversation by ending your reply with END, which includes a reply that only contains END. Ending the conversation on your first reply without providing any other text will ignore the character that was talking to you.

Your reply will be taken literally, other than the END suffix. If you provide text along with the END suffix, the suffix will be removed and the rest of the text will be sent to the other character as your reply.