Skip to content

Instantly share code, notes, and snippets.

@trezy
Created August 24, 2022 22:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save trezy/b844c3a83a1f5b5b1b84a757b0773185 to your computer and use it in GitHub Desktop.
Save trezy/b844c3a83a1f5b5b1b84a757b0773185 to your computer and use it in GitHub Desktop.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.fdgt.dev/PRIVMSG/generic.json",
"title": "PRIVMSG/generic",
"description": "",
"type": "object",
"properties": {
"command": {
"description": "The type of IRC command that was used to send this message.",
"pattern": "^(?:CLEARCHAT|CLEARMSG|GLOBALUSERSTATE|HOSTTARGET|JOIN|NICK|NOTICE|PART|PASS|PING|PONG|PRIVMSG|RECONNECT|ROOMSTATE|USERNOTICE|USERSTATE|WHISPER)$",
"type": "string"
},
"msg-id": {
"description": "The type of message.",
"type": "string"
},
"tags": {
"description": "All tags that can come with messages of this type.",
"type": "object",
"properties": {
"badge-info": {
"type": "string",
"pattern": "^w+/d(?:,w+/d)*$"
},
"badges": {
"type": "string",
"pattern": "^w+/d(?:,w+/d)*$"
},
"color": {
"type": "string",
"pattern": "^#[a-f0-9]{6}$"
},
"display-name": {
"type": "string",
"maxLength": 25,
"minLength": 4
},
"emotes": {
"type": "string",
"pattern": "^emotesv2_w+:d{1,3}-d{1,3}(?:,d{1,3}-d{1,3})*$"
},
"first-msg": {
"type": "string",
"pattern": "^[01]$"
},
"flags": {
"type": "string",
"pattern": "^d{1,3}-d{1,3}:[A-Z].d/[A-Z].d$"
},
"id": {
"type": "string",
"format": "uuid"
},
"mod": {
"type": "string",
"pattern": "^[01]$"
},
"returning-chatter": {
"type": "string",
"pattern": "^[01]$"
},
"room-id": {
"type": "string"
},
"subscriber": {
"type": "string",
"pattern": "^[01]$"
},
"tmi-sent-ts": {
"type": "string"
},
"turbo": {
"type": "string",
"pattern": "^[01]$"
},
"user-id": {
"type": "string"
},
"user-type": {
"type": "string",
"pattern": "^(?:mod)$"
},
"client-nonce": {
"type": "string"
},
"emote-only": {
"type": "string",
"pattern": "^[01]$"
},
"vip": {
"type": "string"
},
"reply-parent-display-name": {
"type": "string"
},
"reply-parent-msg-body": {
"type": "string"
},
"reply-parent-msg-id": {
"type": "string"
},
"reply-parent-user-id": {
"type": "string"
},
"reply-parent-user-login": {
"type": "string"
},
"bits": {
"type": "string"
}
},
"required": [
"display-name",
"first-msg",
"id",
"mod",
"returning-chatter",
"room-id",
"subscriber",
"tmi-sent-ts",
"turbo",
"user-id"
]
}
},
"required": [
"command",
"tags"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment