Skip to main content

Managing Commands

Up-to-date versions of Lumia Stream let you manage commands through the API, not just trigger them. Chatbot commands are the create/update/delete target because they're unlimited on every plan.

All requests go to the usual endpoint:

POST http://localhost:39231/api/send?token=your_token

Create a chatbot command

{
"type": "create-chatbot-command",
"params": {
"name": "socials",
"message": "Follow me everywhere: lumiastream.com/socials"
}
}

The name is stored without your chat prefix and gets slugified (lowercase, spaces become dashes) — the response returns the final name. Creating a name that already exists returns a 409 with code already_exists.

Optional params: description, alias (array of alternate trigger names), showInCommandsList (show on your public commands page, default false), on (default true), and cooldownDuration (milliseconds, default 5000). The reply text supports the same {{variables}} as any chatbot message.

Update a chatbot command

{
"type": "update-chatbot-command",
"params": {
"name": "socials",
"message": "New links: lumiastream.com/links",
"newName": "links"
}
}

Only the fields you pass change. Renaming checks for collisions (409) and is refused for Lumia's built-in system commands (403, code system_command). Unknown names return 404.

Delete a chatbot command

{
"type": "delete-chatbot-command",
"params": {
"value": "links"
}
}

params.name works too. Built-in system commands (like so, uptime, command) cannot be deleted.

Enable or disable any command kind

set-command-state now takes a kind so it works across every command list, not just chat commands:

{
"type": "set-command-state",
"params": {
"name": "blue",
"value": false,
"kind": "twitch-points"
}
}

Valid kinds: chat (default), chatbot, twitch-points, kick-points, twitch-extension.

Kinds with platform-side state also sync it: twitch-points pauses/enables the reward on Twitch, kick-points updates the Kick reward, and twitch-extension recompiles your extension config. Unknown names return a 404.

tip

Everything on this page requires an up-to-date Lumia Stream — check the meta endpoint for the name-validation feature. On older versions these types return 400 unknown_type, and set-command-state only handles chat commands.