mirror of
https://git.sr.ht/~ashkeel/strimertul-website
synced 2024-10-31 21:33:09 +00:00
1539 lines
36 KiB
JSON
1539 lines
36 KiB
JSON
{
|
|
"loyalty/rewards": {
|
|
"description": "List of available rewards",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "Reward",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "required_info",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "cooldown",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"loyalty/@remove-redeem": {
|
|
"description": "Remove a redeem from the queue",
|
|
"schema": {
|
|
"name": "Redeem",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "username",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "display_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "required_info",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "cooldown",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "when",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "request_text",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
"tags": [
|
|
"rpc"
|
|
]
|
|
},
|
|
"twitch/eventsub-history": {
|
|
"description": "Last eventsub notifications received",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "NotificationMessagePayload",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "subscription",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "type",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "version",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "status",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "condition",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "from_broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "to_broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "client_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "extension_client_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "transport",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "method",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "callback",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "secret",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "session_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "connected_at",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "disconnected_at",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Time",
|
|
"kind": "datetime"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cost",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "event",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "uint8",
|
|
"kind": "int"
|
|
}
|
|
},
|
|
{
|
|
"name": "date",
|
|
"kind": "datetime"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tags": [
|
|
"history"
|
|
]
|
|
},
|
|
"twitch/bot-config": {
|
|
"description": "General configuration for the Twitch chatbot",
|
|
"schema": {
|
|
"name": "BotConfig",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "username",
|
|
"description": "Chatbot username (for internal use, ignored by Twitch)",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "oauth",
|
|
"description": "OAuth key for IRC authentication",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "channel",
|
|
"description": "Twitch channel to join and use",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "chat_history",
|
|
"description": "How many messages to keep in twitch/chat-history",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"twitch/chat-history": {
|
|
"description": "Last chat messages received",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "PrivateMessage",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "User",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "DisplayName",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Color",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Badges",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "int",
|
|
"kind": "int"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Raw",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Type",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "RawType",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Tags",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "Message",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Channel",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "RoomID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Time",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "Emotes",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Count",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "Positions",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "EmotePosition",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Start",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "End",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"isPointer": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Bits",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "Action",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "FirstMessage",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "Reply",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "ParentMsgID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentUserID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentUserLogin",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentDisplayName",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentMsgBody",
|
|
"kind": "string"
|
|
}
|
|
],
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "CustomRewardID",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tags": [
|
|
"history"
|
|
]
|
|
},
|
|
"twitch/@send-chat-message": {
|
|
"description": "Send plain text chat message",
|
|
"schema": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"tags": [
|
|
"rpc"
|
|
]
|
|
},
|
|
"loyalty/config": {
|
|
"description": "General configuration for the loyalty subsystem",
|
|
"schema": {
|
|
"name": "Config",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "currency",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "points",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "interval",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "activity_bonus",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "banlist",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"loyalty/goals": {
|
|
"description": "List of all goals",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "Goal",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "total",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "contributed",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "contributors",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "int64",
|
|
"kind": "int"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"loyalty/redeem-queue": {
|
|
"description": "All pending redeems",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "Redeem",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "username",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "display_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "required_info",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "cooldown",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "when",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "request_text",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"loyalty/ev/new-redeem": {
|
|
"description": "On reward redeemed",
|
|
"schema": {
|
|
"name": "Redeem",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "username",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "display_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "required_info",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "cooldown",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "when",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "request_text",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
"tags": [
|
|
"event"
|
|
]
|
|
},
|
|
"twitch/bot-custom-commands": {
|
|
"description": "Chatbot custom commands",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "BotCustomCommand",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "description",
|
|
"description": "Command description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "access_level",
|
|
"description": "Minimum access level needed to use the command",
|
|
"kind": "enum",
|
|
"enumValues": [
|
|
"everyone",
|
|
"subscriber",
|
|
"vip",
|
|
"moderators",
|
|
"streamer"
|
|
]
|
|
},
|
|
{
|
|
"name": "response",
|
|
"description": "Response template (in Go templating format)",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "enabled",
|
|
"description": "Is the command enabled?",
|
|
"kind": "boolean"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"twitch/bot-modules/alerts/config": {
|
|
"description": "Configuration of chat bot alerts",
|
|
"schema": {
|
|
"name": "BotAlertsConfig",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "follow",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable chat message alert on follow",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "List of message to write on follow, one at random will be picked",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "subscription",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable chat message alert on subscription",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "List of message to write on subscription, one at random will be picked",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "variations",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "min_streak",
|
|
"kind": "int",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "is_gifted",
|
|
"kind": "boolean",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "gift_sub",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable chat message alert on gifted subscription",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "List of message to write on gifted subscription, one at random will be picked",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "variations",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "min_cumulative",
|
|
"kind": "int",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "is_anonymous",
|
|
"kind": "boolean",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "raid",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable chat message alert on raid",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "List of message to write on raid, one at random will be picked",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "variations",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "min_viewers",
|
|
"kind": "int",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cheer",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable chat message alert on cheer",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "List of message to write on cheer, one at random will be picked",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "variations",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "min_amount",
|
|
"kind": "int",
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"twitch/ev/eventsub-event": {
|
|
"description": "On Eventsub event received",
|
|
"schema": {
|
|
"name": "NotificationMessagePayload",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "subscription",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "type",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "version",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "status",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "condition",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "from_broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "to_broadcaster_user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "client_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "extension_client_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "transport",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "method",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "callback",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "secret",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "session_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "connected_at",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "disconnected_at",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Time",
|
|
"kind": "datetime"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cost",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "event",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "uint8",
|
|
"kind": "int"
|
|
}
|
|
},
|
|
{
|
|
"name": "date",
|
|
"kind": "datetime"
|
|
}
|
|
]
|
|
},
|
|
"tags": [
|
|
"event"
|
|
]
|
|
},
|
|
"twitch/config": {
|
|
"description": "General configuration for the Twitch subsystem",
|
|
"schema": {
|
|
"name": "Config",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable subsystem",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "enable_bot",
|
|
"description": "Enable the chatbot",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "api_client_id",
|
|
"description": "Twitch API App Client ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "api_client_secret",
|
|
"description": "Twitch API App Client Secret",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"loyalty/@create-redeem": {
|
|
"description": "Create a new pending redeem",
|
|
"schema": {
|
|
"name": "Redeem",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "username",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "display_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "reward",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "required_info",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "cooldown",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "when",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "request_text",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
"tags": [
|
|
"rpc"
|
|
]
|
|
},
|
|
"twitch/ev/chat-message": {
|
|
"description": "On chat message received",
|
|
"schema": {
|
|
"name": "PrivateMessage",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "User",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "DisplayName",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Color",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Badges",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "int",
|
|
"kind": "int"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Raw",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Type",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "RawType",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Tags",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "Message",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Channel",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "RoomID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Time",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "Emotes",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "Count",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "Positions",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "EmotePosition",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "Start",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "End",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"isPointer": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Bits",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "Action",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "FirstMessage",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "Reply",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "ParentMsgID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentUserID",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentUserLogin",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentDisplayName",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "ParentMsgBody",
|
|
"kind": "string"
|
|
}
|
|
],
|
|
"isPointer": true
|
|
},
|
|
{
|
|
"name": "CustomRewardID",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
},
|
|
"tags": [
|
|
"event"
|
|
]
|
|
},
|
|
"twitch/bot-modules/timers/config": {
|
|
"description": "Configuration of chat bot timers",
|
|
"schema": {
|
|
"name": "BotTimersConfig",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "timers",
|
|
"description": "List of timers as a dictionary",
|
|
"kind": "dictionary",
|
|
"key": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
},
|
|
"element": {
|
|
"name": "BotTimer",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "enabled",
|
|
"description": "Enable the timer",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"description": "Timer name (must be unique)",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "minimum_chat_activity",
|
|
"description": "Minimum chat messages in the last 5 minutes for timer to trigger",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "minimum_delay",
|
|
"description": "Minimum amount of time (in seconds) that needs to pass before it triggers again",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "Messages to write (randomly chosen)",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"http/config": {
|
|
"description": "General server configuration",
|
|
"schema": {
|
|
"name": "ServerConfig",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "bind",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "enable_static_server",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "path",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "kv_password",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"twitch/auth-keys": {
|
|
"description": "User access token for the twitch subsystem",
|
|
"schema": {
|
|
"name": "AuthResponse",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "access_token",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "refresh_token",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "expires_in",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "scope",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "Time",
|
|
"kind": "datetime"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"twitch/stream-info": {
|
|
"description": "List of active twitch streams (1 element if live, 0 otherwise)",
|
|
"schema": {
|
|
"name": "",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "Stream",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "user_login",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "user_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "game_id",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "game_name",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "tag_ids",
|
|
"kind": "array",
|
|
"element": {
|
|
"name": "string",
|
|
"kind": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "is_mature",
|
|
"kind": "boolean"
|
|
},
|
|
{
|
|
"name": "type",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "title",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "viewer_count",
|
|
"kind": "int"
|
|
},
|
|
{
|
|
"name": "started_at",
|
|
"kind": "datetime"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"kind": "string"
|
|
},
|
|
{
|
|
"name": "thumbnail_url",
|
|
"kind": "string"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"twitch/chat-activity": {
|
|
"description": "Number of chat messages in the last minute",
|
|
"schema": {
|
|
"name": "int",
|
|
"kind": "int"
|
|
}
|
|
},
|
|
"loyalty/points/<user>": {
|
|
"description": "Point entry for a given user",
|
|
"schema": {
|
|
"name": "PointsEntry",
|
|
"kind": "object",
|
|
"keys": [
|
|
{
|
|
"name": "points",
|
|
"kind": "int"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|