Twitch.SharedChatResub

WebSocket event schema, payload, and examples

Properties

text
string
parts
TwitchMessagePartBase[]
user
object required
source
object required
sourceMessageId
string
sourceBadges
TwitchBadge[]
messageId
string
systemMessage
string
isTest
boolean required
isInSharedChat
boolean required
isSharedChatHost
boolean required
isFromSharedChatGuest
boolean required
cumulativeMonths
integer required
durationMonths
integer required
streakMonths
integer required
subTier
string
isPrime
boolean required
isGift
boolean required
gifterIsAnonymous
boolean
gifter
object required

Schema

The JSON Schema for the event payload, if available.
schema.json
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "TwitchChatNotification_SharedResubEvent",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "text": {
      "type": [
        "null",
        "string"
      ]
    },
    "parts": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/TwitchMessagePartBase"
      }
    },
    "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"
    },
    "cumulativeMonths": {
      "type": "integer",
      "format": "int32"
    },
    "durationMonths": {
      "type": "integer",
      "format": "int32"
    },
    "streakMonths": {
      "type": "integer",
      "format": "int32"
    },
    "subTier": {
      "type": [
        "null",
        "string"
      ]
    },
    "isPrime": {
      "type": "boolean"
    },
    "isGift": {
      "type": "boolean"
    },
    "gifterIsAnonymous": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "gifter": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/TwitchBaseUser"
        }
      ]
    }
  },
  "definitions": {
    "TwitchMessagePartBase": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": [
            "null",
            "string"
          ]
        },
        "text": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "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
{
  "cumulativeMonths": 93630584,
  "durationMonths": -63457440,
  "gifter": {
    "id": null,
    "login": null,
    "name": "consequat ex aliqua sed ipsum",
    "type": null
  },
  "gifterIsAnonymous": null,
  "isFromSharedChatGuest": true,
  "isGift": false,
  "isInSharedChat": false,
  "isPrime": true,
  "isSharedChatHost": true,
  "isTest": true,
  "messageId": null,
  "parts": [
    {
      "text": "tempor enim qui incididunt",
      "type": "tempor id officia cupidatat"
    },
    {
      "text": "dolor fugiat",
      "type": "est sint"
    },
    {
      "text": "nulla labore dolore commodo reprehenderit",
      "type": null
    },
    {
      "text": null,
      "type": null
    },
    {
      "text": "ullamco consectetur",
      "type": null
    }
  ],
  "source": {},
  "sourceBadges": [
    {
      "imageUrl": "pariatur",
      "info": null,
      "name": null,
      "version": "nulla esse"
    },
    {
      "imageUrl": "ea ipsum culpa sunt qui",
      "info": "commodo esse adipisicing voluptate",
      "name": "enim fugiat",
      "version": "do dolor"
    },
    {
      "imageUrl": "ea consequat sed",
      "info": null,
      "name": null,
      "version": "exercitation anim aliqua"
    },
    {
      "imageUrl": "officia labore aliquip dolore culpa",
      "info": null,
      "name": null,
      "version": null
    },
    {
      "imageUrl": "in proident nostrud ad consequat",
      "info": "cupidatat cillum pariatur eu velit",
      "name": "sunt non enim Excepteur pariatur",
      "version": "consectetur adipisicing qui dolore aliquip"
    }
  ],
  "sourceMessageId": "aliquip adipisicing",
  "streakMonths": 92777018,
  "subTier": "laborum ullamco fugiat in aute",
  "systemMessage": null,
  "text": "proident ullamco",
  "user": {
    "badges": [
      {
        "imageUrl": "irure cupidatat sunt culpa",
        "info": "amet proident",
        "name": null,
        "version": "quis"
      },
      {
        "imageUrl": null,
        "info": null,
        "name": null,
        "version": null
      },
      {
        "imageUrl": null,
        "info": "aliquip nisi ullamco Lorem quis",
        "name": "ut Lorem elit dolor do",
        "version": "consectetur dolore"
      },
      {
        "imageUrl": null,
        "info": "ex aliqua in velit",
        "name": null,
        "version": null
      },
      {
        "imageUrl": null,
        "info": "velit",
        "name": "Lorem et ullamco",
        "version": null
      }
    ],
    "color": "minim incididunt",
    "id": null,
    "login": "incididunt culpa ea nisi non",
    "monthsSubscribed": -81484656,
    "name": "in est id consectetur",
    "role": 1,
    "subscribed": true,
    "subscriptionTier": null,
    "type": "magna dolore ex adipisicing"
  }
}

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.SharedChatResub" events and register a callback
client.on('Twitch.SharedChatResub', ({ 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);
});