Twitch.SharedChatSubGift
WebSocket event schema, payload, and examples
user
object required
id
string
login
string
name
string
type
string
role
integer required
Value | Name |
---|---|
0 | Unknown |
1 | Viewer |
2 | Vip |
3 | Moderator |
4 | Broadcaster |
badges
TwitchBadge[]
name
string
version
string
imageUrl
string
info
string
color
string
subscribed
boolean required
subscriptionTier
string
monthsSubscribed
integer required
source
object required
id
string
login
string
name
string
type
string
sourceMessageId
string
sourceBadges
TwitchBadge[]
name
string
version
string
imageUrl
string
info
string
messageId
string
systemMessage
string
isTest
boolean required
isInSharedChat
boolean required
isSharedChatHost
boolean required
isFromSharedChatGuest
boolean required
durationMonths
integer required
cumlativeTotal
integer required
recipient
object required
id
string
login
string
name
string
type
string
subTier
string
communityGiftId
string
fromCommunitySubGift
boolean required
randomCommunitySubGift
boolean required
communitySubGiftCount
integer required
communitySubGiftCumulativeTotal
integer required
Schema
The JSON Schema for the event payload, if available.
schema.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TwitchChatNotification_SharedSubGiftEvent",
"type": "object",
"additionalProperties": false,
"properties": {
"user": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/TwitchUser"
}
]
},
"source": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/TwitchBaseUser"
}
]
},
"sourceMessageId": {
"type": [
"null",
"string"
]
},
"sourceBadges": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/TwitchBadge"
}
},
"messageId": {
"type": [
"null",
"string"
]
},
"systemMessage": {
"type": [
"null",
"string"
]
},
"isTest": {
"type": "boolean"
},
"isInSharedChat": {
"type": "boolean"
},
"isSharedChatHost": {
"type": "boolean"
},
"isFromSharedChatGuest": {
"type": "boolean"
},
"durationMonths": {
"type": "integer",
"format": "int32"
},
"cumlativeTotal": {
"type": "integer",
"format": "int32"
},
"recipient": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/TwitchBaseUser"
}
]
},
"subTier": {
"type": [
"null",
"string"
]
},
"communityGiftId": {
"type": [
"null",
"string"
]
},
"fromCommunitySubGift": {
"type": "boolean"
},
"randomCommunitySubGift": {
"type": "boolean"
},
"communitySubGiftCount": {
"type": "integer",
"format": "int32"
},
"communitySubGiftCumulativeTotal": {
"type": "integer",
"format": "int32"
}
},
"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
{
"communityGiftId": "fugiat consequat",
"communitySubGiftCount": 80287524,
"communitySubGiftCumulativeTotal": -17602891,
"cumlativeTotal": -38375264,
"durationMonths": 67162870,
"fromCommunitySubGift": true,
"isFromSharedChatGuest": false,
"isInSharedChat": false,
"isSharedChatHost": true,
"isTest": true,
"messageId": "commodo cupidatat eiusmod id pariatur",
"randomCommunitySubGift": false,
"recipient": {
"id": null,
"login": "proident",
"name": null,
"type": "ut deserunt reprehenderit dolor"
},
"source": null,
"sourceBadges": [
{
"imageUrl": "nisi consequat",
"info": null,
"name": null,
"version": null
},
{
"imageUrl": "fugiat Excepteur officia Duis ut",
"info": "ullamco",
"name": "laboris officia nostrud",
"version": "do pariatur irure enim dolore"
},
{
"imageUrl": "qui",
"info": "aliqua",
"name": null,
"version": null
},
{
"imageUrl": "amet",
"info": null,
"name": null,
"version": "commodo in reprehenderit ad veniam"
},
{
"imageUrl": "sint exercitation aute dolor",
"info": null,
"name": null,
"version": "laborum ullamco velit ipsum sunt"
}
],
"sourceMessageId": "irure in laborum consectetur aute",
"subTier": "et amet irure",
"systemMessage": null,
"user": {
"badges": [
{
"imageUrl": null,
"info": null,
"name": "do ut nulla amet adipisicing",
"version": "dolore in tempor est"
},
{
"imageUrl": null,
"info": null,
"name": null,
"version": "elit tempor Duis aute"
},
{
"imageUrl": "dolor id deserunt reprehenderit",
"info": null,
"name": null,
"version": null
},
{
"imageUrl": "et",
"info": null,
"name": null,
"version": null
},
{
"imageUrl": "commodo sunt in dolore Excepteur",
"info": "consequat dolore sed",
"name": "elit esse dolore commodo in",
"version": null
}
],
"color": null,
"id": "culpa dolor in",
"login": null,
"monthsSubscribed": -43129058,
"name": "tempor ipsum",
"role": 0,
"subscribed": false,
"subscriptionTier": "tempor elit proident dolor ullamco",
"type": "elit sint"
}
}
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.SharedChatSubGift" events and register a callback
client.on('Twitch.SharedChatSubGift', ({ 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);
});