Character Vault
Any Concept / Any System
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools


From Roll20 Wiki

Jump to: navigation, search
Main Page: Script Index

DiscreteWhisper is a way to send a single whispered message to multiple recipients while simultaneously giving groups of recipients more or less of that message. Buttons (referencing API script command lines, character abilities, or macros) can also be included, and can also be limited to some/all of the recipients. Created by timmaugh

Example Use Case: Larry, Moe, and Curly failed to detect an illusion trap and now need to make a perception check. Larry was the most affected by the trap's illusion spell. The GM wants to send a whispered message to all while giving a slightly altered version to Larry. Moe and Curly should receive the message: "There are five jewels on the table. You find it hard to focus on them." At the same time, Larry should receive the message: "There are five jewels on the table. A small child holds a sixth jewel near the far wall." The player who is playing Larry should not know that s/he has received a different message from the other characters. The GM would enter:

!w --Larry|Curly|Moe --There are five jewels on the table. {{aside|Moe|Curly}}You find it hard to focus on them.{{aside|Larry}}A small child holds a sixth jewel near the far wall.


See README for full documentation


!w --characters --message --title (optional) --buttons (optional, requires a title argument)
  • !w - command to call the API. (!discrete and !discretewhisper also works, an there is option to change the handle)
  • --characters - a pipe-separated list of Character identifiers (name, character_id, or token_id representing a character) that will comprise the list of characters receiving a whispered message
    • {{as}} can be used for designate that you wish to whisper as that character. If you want the same character to also hear the whisper, they need to be added a second time.
    • ex. --Alice|Bob whisper to Alice & Bob
    • ex. ---MoSsbFlnYaTpI4CJ5QQ A character is referenced by character_id. note the 3 - at the start
    • ex. --{{as}}Alice|Bob|GM|Alice speak as Alice; and Bob, GM, Alice hears the whisper.
  • --message must be plain text. sending roll templates doesn't work
    • {{aside}} -- send message section just to part of the targets, like in the main example. Target doesn't know they hear an aside
    • {{Aside}} -- same as above, but announces they are getting an aside
    • {{all}} -- after an aside, use this to switch rest of message to be to all.
  • --title (optional)
    • ex. !w --{{as}}GM|Prism --You see something shiny on the floor. --PERCEPTION
  • --buttons (optional) add button to call api command or a character ability. Separate multiple buttons by {{all}}
    • ex. !w --{{as}}GM|Prism --Do you pick up the item? --Yes|!w --GM --Yes, I pick it up.

There is also option to stop the API from reporting back the whispers:

!w#silent --gm --I don't want a report of this message --NO REPORT


You could use roll queries to to pick between who hears the message, and to write the message when launched. Here the GM also gets an aside informing who the whisper was intended for.

!w --?{Who hears the whisper|Charlie|Charlie & GM,Charlie|GM} --{{aside|GM}} (Bob whispers to Charlie):{{all}} ?{Message|} 

Whisper with two buttons to chose from.

!w --Charlie --Do you pick it up? --Yes|!w --GM --Yes, I pick it up. {{all}} No|!w --GM --No, I don't pick it up.

See Also