Skip to content

Lumia Stream script functions

Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.

lumia.chatbotMessage

Sends a chat message through Lumia Stream's chat bot. Fails with an error when Lumia Stream is not connected.

Value What to put in
message What to say, like "The lights are now purple!" Needed.
platform Optional. Where to send it: "twitch", "youtube", "facebook", "kick", "discord" or "all". Default "twitch".
asSelf Optional. true sends it as your own account instead of the bot. Default false.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.chatbotMessage", new { message = "The lights are now purple!" });
answer = cb.call("lumia.chatbotMessage", message="The lights are now purple!")

lumia.connect

Starts connecting to Lumia Stream. It does not wait: Cuebot keeps trying in the background until it works.

Gives back: true once connecting has started (not when it is connected).

var answer = await Cb.Call("lumia.connect");
answer = cb.call("lumia.connect")

lumia.disconnect

Disconnects Cuebot from Lumia Stream.

Gives back: true when done.

var answer = await Cb.Call("lumia.disconnect");
answer = cb.call("lumia.disconnect")

lumia.getInfo

Tells you what your Lumia Stream offers: its commands, alerts, lights and voices. Cuebot reads this when it connects.

Gives back: commands (names by kind), alerts, lights (each with id, name, type), voices and states (on, streamMode, fuze; or null).

var answer = await Cb.Call("lumia.getInfo");
answer = cb.call("lumia.getInfo")

lumia.getVariable

Reads one of your Lumia Stream variables. Fails with an error when Lumia Stream is not connected.

Value What to put in
name The variable's name in Lumia Stream, like "deaths". Needed.

Gives back: The variable's value as text (empty when Lumia sends nothing).

var answer = await Cb.Call("lumia.getVariable", new { name = "deaths" });
answer = cb.call("lumia.getVariable", name="deaths")

lumia.isConnected

Checks whether Cuebot is connected to Lumia Stream right now.

Gives back: true while connected, otherwise false.

var answer = await Cb.Call("lumia.isConnected");
answer = cb.call("lumia.isConnected")

lumia.send

Sends any request to Lumia Stream's Send API. For advanced users who know Lumia's request types.

Value What to put in
type The request type, like "studio-scene". Needed.
params Optional. The request's settings as an object, like {"value": "Sunset"}.

Gives back: Lumia Stream's reply message, or null when it sends none.

var answer = await Cb.Call("lumia.send", new Dictionary<string, object?> { ["type"] = "studio-scene", ["params"] = new { value = "Sunset" } });
answer = cb.call("lumia.send", type="studio-scene", params={"value": "Sunset"})

lumia.sendAlert

Fakes a Lumia Stream alert, like a follow, so its light show plays. Fails with an error when Lumia Stream is not connected.

Value What to put in
alert The alert's name in Lumia Stream, like "twitch-follower". Needed.
extraSettings Optional. Extra values for the alert, like {"username": "CoolViewer"}.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.sendAlert", new { alert = "twitch-follower", extraSettings = new { username = "CoolViewer" } });
answer = cb.call("lumia.sendAlert", alert="twitch-follower", extraSettings={"username": "CoolViewer"})

lumia.sendCommand

Runs one of your Lumia Stream commands, like a light scene. Fails with an error when Lumia Stream is not connected or says no.

Value What to put in
command The command's name as set in Lumia Stream, like "party". Needed.
type Optional. The kind of command: "chat-command", "chatbot-command", "twitch-points", "twitch-extension" or "kick-points". Default "chat-command".
hold Optional. true keeps the lights this way afterwards instead of going back. Default false.
skipQueue Optional. true runs it right away instead of waiting in Lumia's queue. Default false.
extraSettings Optional. Extra values for the command, like {"username": "CoolViewer"}.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.sendCommand", new { command = "party" });
answer = cb.call("lumia.sendCommand", command="party")

lumia.setColor

Changes the colour of your Lumia Stream lights. Fails with an error when Lumia Stream is not connected.

Value What to put in
color The colour as "#RRGGBB", like "#FF4076", or "r,g,b", like "255,64,118". Needed.
brightness Optional. How bright, 0-100.
transition Optional. How long the colour fades in, in milliseconds.
duration Optional. How long the colour stays, in milliseconds.
lights Optional. Which lights, by name or id, split with commas, like "Hue go, hue:19". Leave it out for all lights.
hold Optional. true keeps this colour afterwards instead of going back. Default false.
skipQueue Optional. true does it right away instead of waiting in Lumia's queue. Default false.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.setColor", new { color = "#9146FF", brightness = 80 });
answer = cb.call("lumia.setColor", color="#9146FF", brightness=80)

lumia.setToDefault

Puts your Lumia Stream lights back to their default look.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.setToDefault");
answer = cb.call("lumia.setToDefault")

lumia.setVariable

Changes one of your Lumia Stream variables. Fails with an error when Lumia Stream is not connected.

Value What to put in
name The variable's name in Lumia Stream, like "deaths". Needed.
value The new value: text, a number, true/false or an object. Counters also take "+1", "-1" or "=5".

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.setVariable", new { name = "deaths", value = "+1" });
answer = cb.call("lumia.setVariable", name="deaths", value="+1")

lumia.tts

Says text out loud with Lumia Stream's text-to-speech. Fails with an error when Lumia Stream is not connected.

Value What to put in
message What to say, like "Welcome to the stream!" Needed.
voice Optional. The Lumia voice name. Leave it out for Lumia's default voice.
volume Optional. How loud, 0-100.

Gives back: true when Lumia Stream accepted it.

var answer = await Cb.Call("lumia.tts", new { message = "Welcome to the stream!" });
answer = cb.call("lumia.tts", message="Welcome to the stream!")