Skip to content

Instantly share code, notes, and snippets.

@steveseguin
Last active May 30, 2025 16:35
Show Gist options
  • Save steveseguin/16972e7ee5a4e2022815f88c32a5a34a to your computer and use it in GitHub Desktop.
Save steveseguin/16972e7ee5a4e2022815f88c32a5a34a to your computer and use it in GitHub Desktop.
Social Stream Ninja actions api

Social Stream Actions and Properties Reference

Actions (using action property)

Navigation Actions

nextPinned

Selects the next pinned message and highlights it

{
  "action": "nextPinned"
}

nextInQueue

Advances to the next message in the queue

{
  "action": "nextInQueue"
}

Clear Actions

clear / clearAll

Clears all messages except pinned ones. If ctrl: true, also clears pinned messages

{
  "action": "clear",
  "ctrl": true
}

clearOverlay

Clears the overlay display

{
  "action": "clearOverlay"
}

Queue Management

getQueueSize

Updates the queue button display

{
  "action": "getQueueSize"
}

Display Controls

autoShow

Controls auto-showing messages. Values: "toggle", "true", "false", "1", "0"

{
  "action": "autoShow",
  "value": "toggle"
}

toggleTTS / tts

Controls text-to-speech. Values: "toggle", "true", "false", "1", "0", "on", "off"

{
  "action": "toggleTTS",
  "value": "toggle"
}

Content Actions

content

Processes a message as JSON content

{
  "action": "content",
  "value": "{\"chatname\":\"User\",\"chatmessage\":\"Hello\"}"
}

feature

Features the first unfeatured message

{
  "action": "feature"
}

Direct Properties (not using action)

Message Management

mid

Message ID to highlight/select

{
  "mid": "12345"
}

pin

Array of message IDs to pin

{
  "pin": ["12345", "67890"]
}

unpin

Array of message IDs to unpin

{
  "unpin": ["12345"]
}

deleteMessage

Delete message by ID

{
  "deleteMessage": "12345"
}

Queue Operations

queue

Array of message IDs to add to queue

{
  "queue": ["12345", "67890"]
}

queueInit

Initialize queue with messages

{
  "queueInit": [{"id": "12345"}, {"id": "67890"}]
}

Bulk Operations

clearAll

Clear all messages

{
  "clearAll": true
}

nextPinned

Alternative syntax for nextPinned action

{
  "nextPinned": true
}

User Management

blockUser

Block user messages (temporary 10s block)

{
  "blockUser": {
    "username": "baduser",
    "type": "twitch"
  }
}

timeoutUser

Timeout user for specified duration

{
  "timeoutUser": {
    "username": "user",
    "type": "twitch",
    "duration": 600
  }
}

vipUser

Mark user as VIP

{
  "vipUser": {
    "username": "user",
    "type": "twitch"
  }
}

Content Forwarding

forward

Forward message to overlay

{
  "forward": {"chatname": "User", "chatmessage": "Hello"}
}

html

Process custom HTML content

{
  "html": "<div>Custom HTML</div>"
}

External Integrations

obsCommand

Send command to OBS Studio

{
  "obsCommand": {
    "action": "setCurrentScene",
    "value": "sceneName"
  }
}

Payment Processing

stripe

Process Stripe webhook payment

{
  "stripe": {
    "type": "checkout.session.completed",
    "data": {...}
  }
}

kofi

Process Ko-fi donation

{
  "kofi": {
    "data": "encoded_kofi_data"
  }
}

bmac

Process Buy Me a Coffee donation

{
  "bmac": {
    "supporter_name": "User",
    "support_note": "Thanks!"
  }
}

fourthwall

Process Fourthwall purchase

{
  "fourthwall": {
    "type": "purchase",
    "data": {...}
  }
}

Additional Properties

  • target - Specifies which dock instance should process the action
  • value - Parameter value for actions that require it
  • ctrl - Modifier for certain actions
  • content - Direct message content to process
  • tabsList - List of available chat destinations
  • userHistory - User message history data
  • recentHistory - Recent message history for loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment