Twitch.GiftBomb

WebSocket event schema, payload, and examples

Properties

The properties defined in the event schema, with descriptions.
broadcaster
object required
createdAt
string required
cumulative_total
integer
id
string
isFromSharedChatGuest
boolean required
isInSharedChat
boolean required
isSharedChatHost
boolean required
isTest
boolean required
messageId
string
recipients
TwitchBaseUser[]
sub_tier
string
systemMessage
string
total
integer required
user
object required

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": "#/$defs/TwitchUser"
        }
      ]
    },
    "messageId": {
      "type": [
        "null",
        "string"
      ]
    },
    "systemMessage": {
      "type": [
        "null",
        "string"
      ]
    },
    "isTest": {
      "type": "boolean"
    },
    "broadcaster": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/TwitchBaseUser"
        }
      ]
    },
    "isInSharedChat": {
      "type": "boolean"
    },
    "isSharedChatHost": {
      "type": "boolean"
    },
    "isFromSharedChatGuest": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string"
    },
    "id": {
      "type": [
        "null",
        "string"
      ]
    },
    "total": {
      "type": "integer"
    },
    "cumulative_total": {
      "type": [
        "integer",
        "null"
      ]
    },
    "sub_tier": {
      "type": [
        "null",
        "string"
      ]
    },
    "recipients": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/TwitchBaseUser"
      }
    }
  },
  "$defs": {
    "TwitchUser": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": [
            "null",
            "string"
          ]
        },
        "login": {
          "type": [
            "null",
            "string"
          ]
        },
        "name": {
          "type": [
            "null",
            "string"
          ]
        },
        "type": {
          "type": [
            "null",
            "string"
          ]
        },
        "role": {
          "$ref": "#/$defs/ViewerRole"
        },
        "badges": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/TwitchBadge"
          }
        },
        "color": {
          "type": [
            "null",
            "string"
          ]
        },
        "subscribed": {
          "type": "boolean"
        },
        "subscriptionTier": {
          "type": [
            "null",
            "string"
          ]
        },
        "monthsSubscribed": {
          "type": "integer"
        }
      }
    },
    "ViewerRole": {
      "type": "integer",
      "description": "",
      "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
{
  "user": {},
  "messageId": "mwsHs",
  "systemMessage": null,
  "isTest": false,
  "broadcaster": {},
  "isInSharedChat": false,
  "isSharedChatHost": true,
  "isFromSharedChatGuest": false,
  "createdAt": "MQ7M5Z",
  "id": null,
  "total": -286,
  "cumulative_total": -824,
  "sub_tier": null,
  "recipients": [
    {
      "id": "uwii4tl",
      "login": null,
      "name": "HZO5hGO37Z",
      "type": "IYaFuSIU8I"
    },
    {
      "id": null,
      "login": "toab6Z",
      "name": null,
      "type": "9r9OXMZ"
    },
    {
      "id": "JjynY",
      "login": "9LT7EoK",
      "name": "ID",
      "type": null
    },
    {
      "id": null,
      "login": null,
      "name": null,
      "type": null
    },
    {
      "id": "",
      "login": null,
      "name": "wXSX",
      "type": "IsGW"
    }
  ]
}

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);
});