Twitch.GiftSub| Value | Name |
|---|---|
| 0 | Unknown |
| 1 | Viewer |
| 2 | Vip |
| 3 | Moderator |
| 4 | Broadcaster |
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TwitchChatNotification_SubGiftEvent",
"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"
},
"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"
]
}
}
}
}
}
{
"communityGiftId": null,
"communitySubGiftCount": 38330679,
"communitySubGiftCumulativeTotal": 92042598,
"cumlativeTotal": 95358485,
"durationMonths": 79027651,
"fromCommunitySubGift": false,
"isFromSharedChatGuest": true,
"isInSharedChat": true,
"isSharedChatHost": true,
"isTest": true,
"messageId": "dolor fugiat in laboris et",
"randomCommunitySubGift": false,
"recipient": null,
"subTier": null,
"systemMessage": "ex in veniam proident commodo",
"user": {
"badges": [
{
"imageUrl": null,
"info": "in eiusmod enim laborum",
"name": "in cupidatat dolore sed Lorem",
"version": "cupidatat Lorem in adipisicing"
},
{
"imageUrl": "velit tempor enim",
"info": "anim amet ut cillum dolor",
"name": null,
"version": "nulla ea velit"
},
{
"imageUrl": "Duis nisi",
"info": "reprehenderit qui cillum magna",
"name": "reprehenderit proident dolore anim eu",
"version": "Excepteur sunt qui in"
},
{
"imageUrl": "ipsum nulla",
"info": null,
"name": null,
"version": "consequat non"
},
{
"imageUrl": null,
"info": null,
"name": "veniam",
"version": null
}
],
"color": "nulla irure",
"id": "quis do",
"login": "ex",
"monthsSubscribed": 12894945,
"name": null,
"role": 2,
"subscribed": true,
"subscriptionTier": null,
"type": null
}
}
// Initialize the Streamer.bot WebSocket Client
const client = new StreamerbotClient();
// Subscribe to "Twitch.GiftSub" events and register a callback
client.on('Twitch.GiftSub', ({ 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);
});