Twitch.GiftBomb

WebSocket event schema, payload, and examples

Properties

user
object required
messageId
string
systemMessage
string
isTest
boolean required
isInSharedChat
boolean required
isSharedChatHost
boolean required
isFromSharedChatGuest
boolean required
id
string
total
integer required
cumulative_total
integer
sub_tier
string
recipients
TwitchBaseUser[]

Schema

The JSON Schema for the event payload, if available.
schema.json
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "TwitchChatNotification_CommunitySubGiftEvent",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "user": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/TwitchUser"
        }
      ]
    },
    "messageId": {
      "type": [
        "null",
        "string"
      ]
    },
    "systemMessage": {
      "type": [
        "null",
        "string"
      ]
    },
    "isTest": {
      "type": "boolean"
    },
    "isInSharedChat": {
      "type": "boolean"
    },
    "isSharedChatHost": {
      "type": "boolean"
    },
    "isFromSharedChatGuest": {
      "type": "boolean"
    },
    "id": {
      "type": [
        "null",
        "string"
      ]
    },
    "total": {
      "type": "integer",
      "format": "int32"
    },
    "cumulative_total": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "sub_tier": {
      "type": [
        "null",
        "string"
      ]
    },
    "recipients": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/TwitchBaseUser"
      }
    }
  },
  "definitions": {
    "TwitchUser": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": [
            "null",
            "string"
          ]
        },
        "login": {
          "type": [
            "null",
            "string"
          ]
        },
        "name": {
          "type": [
            "null",
            "string"
          ]
        },
        "type": {
          "type": [
            "null",
            "string"
          ]
        },
        "role": {
          "$ref": "#/definitions/ViewerRole"
        },
        "badges": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/definitions/TwitchBadge"
          }
        },
        "color": {
          "type": [
            "null",
            "string"
          ]
        },
        "subscribed": {
          "type": "boolean"
        },
        "subscriptionTier": {
          "type": [
            "null",
            "string"
          ]
        },
        "monthsSubscribed": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "ViewerRole": {
      "type": "integer",
      "description": "",
      "x-enum-names": [
        "Unknown",
        "Viewer",
        "Vip",
        "Moderator",
        "Broadcaster"
      ],
      "x-enum-varnames": [
        "Unknown",
        "Viewer",
        "Vip",
        "Moderator",
        "Broadcaster"
      ],
      "x-enumNames": [
        "Unknown",
        "Viewer",
        "Vip",
        "Moderator",
        "Broadcaster"
      ],
      "x-enum-descriptions": [
        null,
        null,
        null,
        null,
        null
      ],
      "x-enumDescriptions": [
        null,
        null,
        null,
        null,
        null
      ],
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    "TwitchBadge": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": [
            "null",
            "string"
          ]
        },
        "version": {
          "type": [
            "null",
            "string"
          ]
        },
        "imageUrl": {
          "type": [
            "null",
            "string"
          ]
        },
        "info": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "TwitchBaseUser": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": [
            "null",
            "string"
          ]
        },
        "login": {
          "type": [
            "null",
            "string"
          ]
        },
        "name": {
          "type": [
            "null",
            "string"
          ]
        },
        "type": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    }
  }
}

JSON Payload

An example JSON payload for the event, automatically generated using JSONSchemaFaker
example.json
{
  "cumulative_total": -53954899,
  "id": "culpa eiusmod elit commodo voluptate",
  "isFromSharedChatGuest": false,
  "isInSharedChat": true,
  "isSharedChatHost": false,
  "isTest": false,
  "messageId": "tempor ut sunt ullamco",
  "recipients": [
    {
      "id": "eu",
      "login": null,
      "name": null,
      "type": "laboris do aute"
    },
    {
      "id": "anim tempor sint",
      "login": null,
      "name": "dolore",
      "type": "commodo"
    },
    {
      "id": "consequat enim",
      "login": "sint enim esse laboris",
      "name": null,
      "type": "pariatur reprehenderit in dolor aliqua"
    },
    {
      "id": null,
      "login": "labore in officia nostrud velit",
      "name": null,
      "type": "et sed reprehenderit mollit ea"
    },
    {
      "id": "dolore deserunt",
      "login": "tempor dolor",
      "name": null,
      "type": "ipsum do"
    }
  ],
  "sub_tier": "proident amet do Lorem",
  "systemMessage": "culpa dolor",
  "total": -24207595,
  "user": {
    "badges": [
      {
        "imageUrl": "id veniam fugiat dolore aliquip",
        "info": "ullamco enim tempor amet aliqua",
        "name": null,
        "version": "incididunt commodo nostrud anim adipisicing"
      },
      {
        "imageUrl": "occaecat",
        "info": null,
        "name": "dolor ullamco irure sint aliqua",
        "version": null
      },
      {
        "imageUrl": null,
        "info": "nulla ea velit consequat",
        "name": null,
        "version": null
      },
      {
        "imageUrl": "ad ex sit sunt consectetur",
        "info": "sed",
        "name": "in quis et occaecat ad",
        "version": "commodo pariatur non incididunt"
      },
      {
        "imageUrl": null,
        "info": null,
        "name": null,
        "version": "Ut"
      }
    ],
    "color": "elit",
    "id": "cillum ut",
    "login": "laborum veniam",
    "monthsSubscribed": -52951664,
    "name": "proident",
    "role": 2,
    "subscribed": true,
    "subscriptionTier": null,
    "type": "sunt dolor nulla"
  }
}

Client Example

Example code showing how to subscribe to this event using the Streamer.bot WebSocket Client
index.js
// Initialize the Streamer.bot WebSocket Client
const client = new StreamerbotClient();

// Subscribe to "Twitch.GiftBomb" events and register a callback
client.on('Twitch.GiftBomb', ({ event, data }) => {
  // Code here will run every time the event is received!
  console.log('Received event:', event.source, event.type);
  console.log('Event data:', data);
});