MPP - Commands Help On Chat Script V1.5.2 - Documentation
Shows a help text in Nearby Chat when a visitor types a command such as /CommandsHelp, or when another script asks for it (an MPP - Action Button on a help panel, for example). The help can be the built-in list of Sansar chat commands, your own text, or both. Optionally, the script also greets the avatars who enter the scene, with their name, their handle or a link to their web profile, plays a sound when someone arrives, and posts a Script Event at each arrival and each departure so that your other scripts can react.
This script is standalone - it does not require any other MPP script to function.
New in V1.5: an Arrival/ group, all Off by default and independent of the greeting: a sound when an avatar enters the scene (from the object or everywhere, with a volume and a minimum interval), a Script Event at each arrival and one at each departure, carrying the avatar's UUID like an Action Button click. V1.5.1 also renames two groups of the Build panel (Activation/ and Help/). Your settings are kept when you update: see "Updating from V1.4.0".
New in V1.5.2: NPCs. Sansar NPCs enter a scene like avatars, so the greeter used to announce them at every scene start. The new switch Activation/Detect NPCs, Off by default, makes the script ignore them: no greeting, no arrival sound or event, no answer to their help request. Turn it On to treat NPCs as visitors (see "NPCs").
Quick Start
- After purchase, the script is in your Inventory in Build mode. Add it to any object of your scene: a sign, a help panel, or a small object hidden out of sight.
- Build and visit the scene, then type
/CommandsHelpin Nearby Chat: the built-in help (the Sansar%%commands) is posted in the chat for everyone. - To add your own commands, paste them in
Help/Help Block(several lines allowed). They are shown after the built-in help, under the separator line-- Custom Command --. - Optional: turn
Join Greeting/Enable GreetingOn to welcome visitors with "Hello! Type /CommandsHelp in Nearby Chat to see the scene commands." - Optional: pick a sound in
Arrival/Arrival Soundto play a chime when someone arrives.
That is all most scenes need. The rest of this guide details every option.
How It Works
Two ways to ask for the help, one help text, two ways to deliver it:
| Step | Settings | What happens |
|---|---|---|
| Ask | Activation/Chat Command, Activation/Script Event Name | A visitor types the command alone in Nearby Chat, or another script posts the Script Event |
| Check | Activation/Cooldown Seconds | A request that comes too soon after the previous one is refused (see "Cooldown") |
| Build | Help/... | The built-in help and/or your Help Block, in the order you chose, with the separator between them |
| Deliver | Help/Whisper To Sender Only | Posted to everyone in the scene (default), or sent in private to the avatar who asked |
Apart from the help, the script watches the avatars who enter and leave the scene: the join greeting (a chat message), the arrival sound and the arrival and departure events are three independent options, each with its own switch. Sansar NPCs are ignored by all three unless Activation/Detect NPCs is On (see "NPCs").
In the Build panel the settings are grouped by category: Activation/, Help/, Join Greeting/, Arrival/ and Debug/.
Triggers
Chat command
Activation/Chat Command (default /CommandsHelp). The visitor types it alone in Nearby Chat. Case does not matter (/commandshelp works too) and spaces before and after are ignored, but a sentence that contains the command among other words is ignored. Leave it empty to disable the chat trigger.
Script Event
With Activation/Enable Script Event On (default), the script also shows the help when another script posts the Script Event named in Activation/Script Event Name (default show_commands_help).
- From an MPP - Action Button: on the button,
Send as CommandOn andCommand 1=show_commands_help. The button tells which avatar clicked, so the help can be whispered to that avatar (see "Who Receives the Help"). - From your own script: post the event name. To identify the avatar, send the same data as Action Button: an object with a public text property named
ActivatorAvatarUuidholding the avatar's UUID (see "Event Payload Interface" in the Action Button documentation). Without it, the help can only be posted to everyone.
Several help texts in one scene
Place several copies of the script, each with its own chat command and event name: /AdminHelp, /TeamHelp, /EventHelp... Each copy has its own texts, cooldown and delivery mode.
What Is Shown
The help is made of up to three parts:
- Built-in help (
Help/Show Default Help, default On): the list of Sansar's own chat commands, shown exactly like this:
Type these into Nearby Chat. (Most can target a username, e.g. %%kick User-1234)
%%who -- list all users in scene
%%roles -- show your current role
%%kick <name> -- remove a user from the scene
%%mute <name> -- temporarily disable a user's mic
%%mega-on/off <name> -- give or remove megaphone access
%%broadcast-on/off <name> -- show or hide avatar across instances
%%backpack-on/off -- toggle backpack visibility
%%backpack-clear -- remove all spawned backpack items
%%muteall [seconds] -- mute everyone (optional delay)
%%unmuteall [seconds] -- unmute everyone (optional delay)
- Your Help Block (
Help/Help Block): your own text, as many lines as you like. Empty lines are skipped when the help is sent line by line; withHelp/Send As Single MessageOn, they are kept inside the message. - Separator (
Help/Section Separator, default-- Custom Command --): a line placed between the two, only when both are shown. Empty = no separator.
Order. By default: built-in help, separator, your Help Block. With Help/Help Block First On: your Help Block, separator, built-in help.
To show only your own text, turn Help/Show Default Help Off. With Show Default Help Off and an empty Help Block, the command does nothing.
Line by line or in blocks
Help/Send As Single MessageOff (default): each line is a separate chat message, sent quickly one after the other.- On: each part (built-in help, separator, your Help Block) is sent as one message. A part longer than
Help/Max Characters Per Message(default 580, from 100 to 2000) is split into several messages, preferably between lines, so a line is only cut when it is itself longer than the limit.
Who Receives the Help
Help/Whisper To Sender Only:
- Off (default) - broadcast: the help is posted in Nearby Chat for everyone in the scene.
- On - whisper: only the avatar who asked receives it, in private. The other visitors see nothing. A Script Event that does not say which avatar asked (see "Script Event") shows nothing in this mode.
Cooldown
Activation/Cooldown Seconds (default 5, 0 = no cooldown, 86400 = 24 hours at most) is the minimum delay between two help displays:
- Broadcast: one delay for the whole scene. After the help was posted, the next request from anyone is refused until the delay is over, so a crowd typing the command does not flood the chat.
- Whisper: one delay per avatar. Each visitor can get the help in private without waiting for the others. The only shared limit is a safety pause of a tenth of a second after each help sent: a request from another avatar in that instant is ignored without a message (asking again works).
A request that would show nothing (no built-in help and an empty Help Block, or a whisper without a known avatar) is simply ignored and does not start the delay.
Cooldown Notice
With Activation/Cooldown Notice On (default), an avatar whose request is refused receives a private message, only visible to them: by default "The help was just posted in the chat. You can ask again in 4 seconds." At most one message every 3 seconds per avatar, and none when the wait is under half a second.
Write your own text in Activation/Cooldown Notice Text: {time} becomes the remaining time with its unit ("4 seconds", "1 minute 5 seconds"), {seconds} the whole number of seconds. Leave the text empty, or turn the notice Off, to refuse in silence.
Join Greeting
With Join Greeting/Enable Greeting On, a greeting is posted in Nearby Chat, for everyone, when an avatar enters the scene.
| Setting | Default | What it does |
|---|---|---|
| Join Greeting/Enable Greeting | Off | Turns the greeting on |
| Join Greeting/Cooldown Minutes | 10 | Minimum delay between two greetings, for the whole scene (0 to 120; 0 = greet every arrival). Avatars who arrive during the delay are not greeted |
| Join Greeting/Message | "Hello! Type {trigger} in Nearby Chat to see the scene commands." | The greeting text |
| Join Greeting/Include Name | Off | Adds the arriving avatar's display name |
| Join Greeting/Include Handle | Off | Adds the arriving avatar's handle, as @handle |
| Join Greeting/Include Profile URL | Off | Adds a link to the arriving avatar's web profile (https://www.sansar.com/profiles/<handle>) |
| Join Greeting/Profile URL Label | "Profile: " | Text placed before that link when it is added at the end |
Tokens in the message:
{trigger}is replaced by your chat command (/CommandsHelp).{name},{handle}and{profileurl}are replaced by the arriving avatar's name, handle and profile link, only when the matching Include switch is On (otherwise they become empty).
When the message contains neither {name} nor {handle}, the Include switches still work:
- The name and/or the handle are placed before the message:
Anna (@anna) - Hello! Type /CommandsHelp in Nearby Chat to see the scene commands. - The profile link is added at the end, after the label:
... commands. Profile: https://www.sansar.com/profiles/anna
If the message contains {name} or {handle}, nothing is placed before it: write both tokens to show both, for example Welcome {name} ({handle})!.
Double spaces, and a space left before a comma, a period or a colon, are cleaned up. If your message uses a token, keep the matching Include switch On: otherwise the text around the token stays (for example empty brackets () or a space before !). A display name that ends with "- Sansar" (Sansar staff accounts) is shown as "Name Sansar", so the chat does not turn it into a link.
Arrival Sound and Events
The Arrival/ group reacts to the avatars who enter and leave the scene, independently of the join greeting (which can be On or Off). Everything in it is Off by default: with the defaults, the script behaves exactly as V1.4.0.
Arrival sound
A sound played for everyone in the scene when an avatar arrives - a chime, a door, a bird.
| Setting | Default | What it does |
|---|---|---|
| Arrival/Arrival Sound | (none) | A sound from your inventory. Empty = no sound |
| Arrival/Sound Volume | 100 | Loudness from 0 to 200 percent (100 = the sound as recorded, 0 = no sound) |
| Arrival/Sound Everywhere | Off | Off = the sound comes from the object that carries the script, louder near it and fainter far away. On = everyone hears it at the same level, wherever they are in the scene |
| Arrival/Sound Min Interval Seconds | 2 | Minimum delay between two sounds, for the whole scene (0 to 60). Avatars who arrive during the delay trigger no sound: a group that arrives together is one chime, not ten. 0 = a sound at every arrival |
- The delay starts when a sound is actually played.
- The avatar who arrives may not hear their own arrival sound: their client is still loading at that moment. The visitors already in the scene hear it.
- Place the object near the spawn point, or turn
Sound EverywhereOn, so the sound is heard where it matters.
Arrival and departure events
Two Script Events that other scripts can listen to, to react to the comings and goings: a lamp that lights up, a counter, a door, a script of your own.
| Setting | Default | What it does |
|---|---|---|
| Arrival/Send Arrival Event | Off | Posts the Script Event below each time an avatar enters the scene |
| Arrival/Arrival Event Name | "mpp_avatar_arrived" | Name of that Script Event |
| Arrival/Send Departure Event | Off | Posts the Script Event below each time an avatar leaves the scene |
| Arrival/Departure Event Name | "mpp_avatar_left" | Name of that Script Event |
- One event per avatar, at every arrival and every departure: no delay between two events.
- Each event carries the avatar's UUID, with the same data as an MPP - Action Button click (
ActivatorAvatarUuid, see "Event Payload Interface" in the Action Button documentation). A script that already listens to an Action Button can listen to arrivals and departures the same way, and knows which avatar it was. - For the departure, the avatar is already gone when the event is sent: the script remembers the UUID of each avatar from its arrival (and of the avatars already present when the scene starts). If the avatar could not be read, the event is still posted, with an empty UUID.
- A switch On with an empty event name sends nothing, with a warning in the script console at start.
- Examples. Set
Arrival Event Nametompp_lamp_all_onandDeparture Event Nametompp_lamp_all_offto switch every MPP - Light Switch lamp of the scene on when someone arrives and off when they leave. SetArrival Event Nameto theActivation/Script Event Nameof a second Commands Help object in whisper mode to send the help in private to each arriving avatar. Or listen tompp_avatar_arrivedin your own script withSubscribeToScriptEvent. - A script that answers the arrival event by writing to the arriving avatar (a private message, a window) may act before that avatar's client has finished loading, and the message can be missed. For the arriving avatar, the join greeting is the safe choice: it is posted to everyone and stays in the chat.
NPCs
Sansar NPCs (non-player characters) are in the scene when it starts, and scripts see them exactly like avatars. Without this setting the greeter would welcome them at every scene start, the arrival sound would play, the arrival event would fire, and the greeting cooldown would be spent on them before the first real visitor.
Activation/Detect NPCs (default Off):
- Off: NPCs are ignored by the whole script: no greeting, no arrival sound, no arrival or departure event, and a help request coming from an NPC gets no answer. Real visitors are handled as usual.
- On: NPCs count as visitors, as in V1.5.1: greeted, announced, and able to trigger the help.
The script recognizes an NPC by its handle: npc- followed by 32 characters (digits and letters a to f), for example npc-47fd9b2b74454649aedef8d8fe5550ac. Sansar gives scripts no other sign. A visitor whose handle merely starts with npc- (like npc-fan) is not an NPC. With Debug/Debug Logging On, each ignored NPC is written to the script console.
Editor Properties Reference (30 total)
Activation
| Property | Type | Default | Description |
|---|---|---|---|
| Activation/Chat Command | string | "/CommandsHelp" | Chat command that shows the help, typed alone (case-insensitive). Empty = no chat trigger |
| Activation/Enable Script Event | bool | On | Also shows the help when another script posts the event below |
| Activation/Script Event Name | string | "show_commands_help" | Name of that Script Event |
| Activation/Cooldown Seconds | number | 5 | Minimum delay between two help displays (0 = none, 86400 at most). Broadcast: whole scene. Whisper: per avatar |
| Activation/Cooldown Notice | bool | On | Private "please wait" message for a refused request |
| Activation/Cooldown Notice Text | string | "The help was just posted in the chat. You can ask again in {time}." | Text of that message; {time} and {seconds} are replaced, empty = no message |
| Activation/Detect NPCs | bool | Off | Off = NPCs (handle npc-...) are ignored by the greeting, the arrival sound and events and the help. On = they count as visitors |
Help
| Property | Type | Default | Description |
|---|---|---|---|
| Help/Whisper To Sender Only | bool | Off | On = private help for the avatar who asked. Off = posted to everyone |
| Help/Show Default Help | bool | On | Shows the built-in list of Sansar commands |
| Help/Help Block | string | "" | Your own help text, several lines allowed |
| Help/Help Block First | bool | Off | Your Help Block before the built-in help |
| Help/Section Separator | string | "-- Custom Command --" | Line between the two parts when both are shown. Empty = none |
| Help/Send As Single Message | bool | Off | One message per part instead of one per line |
| Help/Max Characters Per Message | integer, 100-2000 | 580 | Longer parts are split (Send As Single Message only) |
Join Greeting
| Property | Type | Default | Description |
|---|---|---|---|
| Join Greeting/Enable Greeting | bool | Off | Greets arriving avatars in Nearby Chat, for everyone |
| Join Greeting/Cooldown Minutes | integer, 0-120 | 10 | Minimum delay between two greetings, for the whole scene |
| Join Greeting/Message | string | "Hello! Type {trigger} in Nearby Chat to see the scene commands." | Greeting text, with {trigger}, {name}, {handle}, {profileurl} |
| Join Greeting/Include Name | bool | Off | Adds the avatar's display name |
| Join Greeting/Include Handle | bool | Off | Adds the avatar's @handle |
| Join Greeting/Include Profile URL | bool | Off | Adds the avatar's web profile link |
| Join Greeting/Profile URL Label | string | "Profile: " | Text before the link when it is added at the end |
Arrival
| Property | Type | Default | Description |
|---|---|---|---|
| Arrival/Arrival Sound | SoundResource | (none) | Sound played when an avatar enters the scene. Empty = no sound |
| Arrival/Sound Volume | integer, 0-200 | 100 | Loudness in percent (0 = no sound) |
| Arrival/Sound Everywhere | bool | Off | Off = from the object, On = same level everywhere |
| Arrival/Sound Min Interval Seconds | number, 0-60 | 2 | Minimum delay between two arrival sounds, for the whole scene (0 = every arrival) |
| Arrival/Send Arrival Event | bool | Off | Posts a Script Event at each arrival, with the avatar UUID |
| Arrival/Arrival Event Name | string | "mpp_avatar_arrived" | Name of the arrival event |
| Arrival/Send Departure Event | bool | Off | Posts a Script Event at each departure, with the avatar UUID |
| Arrival/Departure Event Name | string | "mpp_avatar_left" | Name of the departure event |
Debug
| Property | Type | Default | Description |
|---|---|---|---|
| Debug/Debug Logging | bool | Off | Writes accepted and refused help requests, the avatars, the greetings, the arrival sounds and the arrival and departure events to the script console |
Version Notes
| Version | What changed |
|---|---|
| V1.3.4 | Script Event trigger, compatible with MPP - Action Button |
| V1.3.6 | Join greeting with the arriving avatar's name, handle and profile link ({name}, {handle}, {profileurl}) |
| V1.3.8 | Cleaner greeting prefix (no unwanted link), safer plain-text separator |
| V1.4.0 | Settings labelled and grouped in the Build panel; cooldown per avatar in whisper mode; private "please wait" message for a refused request; Debug Logging; more robust sending (an avatar who leaves during the help, a busy chat) |
| V1.5.0 | Arrival/ group: arrival sound (from the object or everywhere, volume, minimum interval) and arrival and departure Script Events with the avatar UUID, all Off by default (never sold, merged into V1.5.1) |
| V1.5.1 | Groups renamed Activation/ (was Trigger/) and Help/ (was Message/), Enable Script Event (was Script Event Trigger). Same settings, same values |
| V1.5.2 (this version) | Activation/Detect NPCs (Off by default): NPCs are ignored by the greeting, the arrival sound, the arrival and departure events and the help requests. Nothing else changes |
Updating from V1.5.1
- Your values carry over: nothing changes in the existing settings.
- One new setting,
Activation/Detect NPCs, Off: NPCs present in your scene are no longer greeted or announced, and no longer spend the greeting cooldown. Turn it On to keep the V1.5.1 behaviour.
Updating from V1.4.0
- Your values carry over: the 21 settings of V1.4.0 keep their internal names and their values. Only two group names and one label change in the Build panel:
Trigger/is nowActivation/,Message/is nowHelp/, andScript Event Triggeris nowEnable Script Event. - Nine new settings, all Off or empty:
Activation/Detect NPCsand the eightArrival/settings. Until you use them, the script behaves as V1.4.0 (no sound, no event), with one difference: NPCs are no longer greeted or announced (see "NPCs"). - As with any update, take a screenshot of the Build panel first, update one object and check that its settings are still there before doing the others.
Updating from V1.3.8
- Your values carry over: the settings keep their internal names, only their labels change (for example
UserBlockFirstis nowHelp/Help Block First). Take a screenshot of the Build panel first, update one object and check that its settings are still there. - Whisper mode: the cooldown is now per avatar. In V1.3.8, one visitor's request blocked everybody else for the whole delay, without a word.
- Cooldown Notice is On by default: a refused request now gets a private "please wait" message. Turn
Activation/Cooldown NoticeOff to keep the V1.3.8 silence. - Cooldown Seconds now stops at 86400 (24 hours): a larger value counts as 24 hours.
- Twelve new settings since V1.3.8:
Activation/Cooldown Notice,Activation/Cooldown Notice Text,Activation/Detect NPCs,Debug/Debug Loggingand the eightArrival/settings, all at their defaults. The others are the same as in V1.3.8. NPCs are no longer greeted (see "NPCs").
Recipes
A - A help command for everyone. Defaults are enough: add the script to any object, paste your own commands in Help/Help Block.
B - A private help for each visitor. Help/Whisper To Sender Only On. Each visitor who types the command gets the help in private; the chat stays clean for the others.
C - A "Help" button. Put an MPP - Action Button on a panel: Send as Command On, Command 1 = show_commands_help. With Whisper To Sender Only On, the help goes to the avatar who clicked.
D - Your own commands only. Help/Show Default Help Off, your text in Help/Help Block. Useful for a game, a roleplay or a shop with its own chat commands.
E - Welcome visitors by name. Join Greeting/Enable Greeting On, Include Name On, and for example Join Greeting/Message = Welcome {name}! Type {trigger} for the scene commands. Set Cooldown Minutes to 0 to greet every arrival, or keep 10 in a busy hub.
F - Separate help texts for visitors and staff. Visitor copy: /CommandsHelp, Help/Show Default Help Off, and your visitor commands in Help/Help Block. Staff copy: Activation/Chat Command = /AdminHelp, Show Default Help On (the Sansar %% commands), your staff notes in its Help Block, Whisper To Sender Only On. Give it another Activation/Script Event Name, or turn its Activation/Enable Script Event Off, so that a help button does not show both. The command is not restricted: a visitor who types /AdminHelp receives that help in private too.
G - A chime when someone arrives. Pick a sound in Arrival/Arrival Sound, put the object near the spawn point (or turn Sound Everywhere On). Keep Sound Min Interval Seconds at 2 so a group arriving together rings once.
H - Lamps that light up for your visitors. Arrival/Send Arrival Event On with Arrival Event Name = mpp_lamp_all_on, Send Departure Event On with Departure Event Name = mpp_lamp_all_off, and MPP - Light Switch on the lamps (Events/Enable Script Events On, prefix mpp_lamp). The lamps switch on when someone enters and off when they leave.
I - Your own script reacts to arrivals. Keep the default names (mpp_avatar_arrived, mpp_avatar_left) and subscribe to them in your script: the event data holds the avatar UUID in ActivatorAvatarUuid, like an Action Button click.
Troubleshooting
| Symptom | Check |
|---|---|
| Nothing happens when I type the command | Typed alone in Nearby Chat, with nothing else in the line? Same spelling as Activation/Chat Command (case does not matter)? Show Default Help Off with an empty Help Block shows nothing |
| "You can ask again in..." | The cooldown is running. In broadcast mode, the help was just posted in the chat for everyone: scroll up. Lower Activation/Cooldown Seconds if needed |
| The help button does nothing | On the Action Button: Send as Command On and the same event name as Activation/Script Event Name (show_commands_help)? Activation/Enable Script Event On? |
| Whisper mode: the button or my script shows nothing | The event must say which avatar asked (an Action Button does). Otherwise use broadcast mode |
| The help is cut into several messages | Send As Single Message On and a part longer than Max Characters Per Message: normal, the chat has a length limit |
| No greeting for some arrivals | Join Greeting/Cooldown Minutes: one greeting per delay for the whole scene. Set it to 0 to greet everyone |
| The greeting shows no name or handle | The matching Include switch must be On, even when the message contains {name} or {handle}. If the message contains one of these two tokens, write the other one too, or it is not shown |
| No arrival sound | A sound chosen in Arrival/Arrival Sound? Sound Volume above 0? Two arrivals within Sound Min Interval Seconds give one sound. The arriving avatar may not hear it (client still loading): check with an avatar already in the scene. Too faint: move the object near the spawn point, raise the volume, or turn Sound Everywhere On |
| The arrival event does nothing | Arrival/Send Arrival Event On, and the name matches exactly what the other script listens to (a Light Switch: mpp_lamp_all_on with Events/Enable Script Events On)? An empty name sends nothing (warning at start) |
| The departure event has no avatar UUID | The avatar could not be read at its arrival (or at scene start): the event is still posted, with an empty UUID |
| The greeter announces my NPCs when the scene starts | Activation/Detect NPCs must be Off (the default since V1.5.2). NPCs are recognized by their npc- handle: turn Debug/Debug Logging On to see them ignored in the script console |
| I want my NPCs to be greeted or announced | Turn Activation/Detect NPCs On |
| Settings look different after updating the script | Only the labels changed; the values stay (see "Updating from V1.4.0") |
| I want to know what the script does | Turn Debug/Debug Logging On and open the script console: every request, greeting, sound and event is written there |
Limits
- The help is posted in Nearby Chat: visitors see it in their chat window.
- The greeting is always posted for everyone; it cannot be private.
- The greeting cooldown, the arrival sound interval and, in broadcast mode, the help cooldown are shared by the whole scene.
- The arrival sound and the events fire the moment the avatar enters, while their own client may still be loading: a sound or a private message aimed at the arriving avatar can be missed by them. Everyone else gets them.
- NPCs are recognized by their handle (
npc-followed by 32 characters), the only sign Sansar gives scripts. If Sansar changed that format, NPCs would count as visitors again until the script is updated. - Some of the Sansar
%%commands of the built-in help only work for the scene's owner and the roles they grant; the list is shown to everyone.
Related MPP Items
| Item | What it adds |
|---|---|
| Action Button Script (V1.7.1) | Turn any object into a "Help" button that shows this help with Send as Command. Store: https://www.sansar.com/store/listings/3e1a3546-6c79-4527-bc1e-78d02648d19e/action-button-script |
| Light Switch Script (V1.5.3) | Lamps switched by click, chat or script events, including the arrival and departure events of this script; list its /lamp commands in your Help Block. Store: https://www.sansar.com/store/listings/7379d48c-2b6f-45f6-b6f1-205ce95aec1c/light-switch-script |
MPP - My Pretty Pixels. Commands Help On Chat Script V1.5.2 (script MPP - Commands Help On Chat). Store: https://www.sansar.com/store/listings/fea2df6b-21ce-48eb-94fc-4b7a7aad2777/commands-help-on-chat-script