1
0
Fork 0
mirror of https://git.sr.ht/~ashkeel/strimertul-website synced 2024-10-31 21:33:09 +00:00
strimertul-website/data/api/v310/api.json
2023-02-18 01:04:20 +01:00

1539 lines
36 KiB
JSON

{
"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"
}
]
}
}
},
"loyalty/points/<user>": {
"description": "Point entry for a given user",
"schema": {
"name": "PointsEntry",
"kind": "object",
"keys": [
{
"name": "points",
"kind": "unknown"
}
]
}
},
"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": "unknown"
},
{
"name": "required_info",
"kind": "string"
},
{
"name": "cooldown",
"kind": "unknown"
}
]
},
{
"name": "when",
"kind": "datetime"
},
{
"name": "request_text",
"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": "unknown"
},
{
"name": "amount",
"kind": "unknown"
},
{
"name": "activity_bonus",
"kind": "unknown"
}
]
},
{
"name": "banlist",
"kind": "array",
"element": {
"name": "string",
"kind": "string"
}
}
]
}
},
"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-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/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/@send-chat-message": {
"description": "Send plain text chat message",
"schema": {
"name": "string",
"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/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/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/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"
}
]
}
},
"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"
}
}
]
}
}
]
}
},
"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": "unknown"
},
{
"name": "required_info",
"kind": "string"
},
{
"name": "cooldown",
"kind": "unknown"
}
]
},
{
"name": "when",
"kind": "datetime"
},
{
"name": "request_text",
"kind": "string"
}
]
},
"tags": [
"rpc"
]
},
"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/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/chat-activity": {
"description": "Number of chat messages in the last minute",
"schema": {
"name": "int",
"kind": "int"
}
},
"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"
}
]
}
},
"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": "unknown"
},
{
"name": "required_info",
"kind": "string"
},
{
"name": "cooldown",
"kind": "unknown"
}
]
}
}
},
"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": "unknown"
},
{
"name": "contributed",
"kind": "unknown"
},
{
"name": "contributors",
"kind": "dictionary",
"key": {
"name": "string",
"kind": "string"
},
"element": {
"name": "int64",
"kind": "unknown"
}
}
]
}
}
},
"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": "unknown"
},
{
"name": "required_info",
"kind": "string"
},
{
"name": "cooldown",
"kind": "unknown"
}
]
},
{
"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": "unknown"
},
{
"name": "required_info",
"kind": "string"
},
{
"name": "cooldown",
"kind": "unknown"
}
]
},
{
"name": "when",
"kind": "datetime"
},
{
"name": "request_text",
"kind": "string"
}
]
},
"tags": [
"event"
]
}
}