// Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/bot/commands": {
            "get": {
                "description": "Get all Discord commands that the bot implements",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "bot"
                ],
                "summary": "Get Bot Commands",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/discordgo.ApplicationCommand"
                            }
                        }
                    }
                }
            }
        },
        "/bot/info": {
            "get": {
                "description": "Get basic information about the bot",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "bot"
                ],
                "summary": "Get Bot Info",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/command.BotInfo"
                        }
                    }
                }
            }
        },
        "/game/state": {
            "get": {
                "description": "Get the current state of a running game",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "game"
                ],
                "summary": "Get Game State",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Game Guild ID",
                        "name": "guildID",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Game Connect Code",
                        "name": "connectCode",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/bot.GameState"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        }
    },
    "definitions": {
        "amongus.GameData": {
            "type": "object",
            "properties": {
                "map": {
                    "$ref": "#/definitions/game.PlayMap"
                },
                "phase": {
                    "$ref": "#/definitions/game.Phase"
                },
                "playerData": {
                    "description": "indexed by amongusname",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/amongus.PlayerData"
                    }
                },
                "region": {
                    "type": "string"
                },
                "room": {
                    "type": "string"
                }
            }
        },
        "amongus.PlayerData": {
            "type": "object",
            "properties": {
                "color": {
                    "type": "integer"
                },
                "isAlive": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "bot.GameState": {
            "type": "object",
            "properties": {
                "amongUsData": {
                    "$ref": "#/definitions/amongus.GameData"
                },
                "connectCode": {
                    "type": "string"
                },
                "gameStateMessage": {
                    "$ref": "#/definitions/bot.GameStateMessage"
                },
                "guildID": {
                    "type": "string"
                },
                "linked": {
                    "type": "boolean"
                },
                "matchID": {
                    "type": "integer"
                },
                "matchStartUnix": {
                    "type": "integer"
                },
                "running": {
                    "type": "boolean"
                },
                "subscribed": {
                    "type": "boolean"
                },
                "userData": {
                    "$ref": "#/definitions/bot.UserDataSet"
                },
                "voiceChannel": {
                    "type": "string"
                }
            }
        },
        "bot.GameStateMessage": {
            "type": "object",
            "properties": {
                "creationTimeUnix": {
                    "type": "integer"
                },
                "leaderID": {
                    "type": "string"
                },
                "messageChannelID": {
                    "type": "string"
                },
                "messageID": {
                    "type": "string"
                }
            }
        },
        "bot.User": {
            "type": "object",
            "properties": {
                "Discriminator": {
                    "type": "string"
                },
                "Nick": {
                    "type": "string"
                },
                "UserID": {
                    "type": "string"
                },
                "UserName": {
                    "type": "string"
                }
            }
        },
        "bot.UserData": {
            "type": "object",
            "properties": {
                "PlayerName": {
                    "type": "string"
                },
                "ShouldBeDeaf": {
                    "type": "boolean"
                },
                "ShouldBeMute": {
                    "type": "boolean"
                },
                "User": {
                    "$ref": "#/definitions/bot.User"
                }
            }
        },
        "bot.UserDataSet": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/bot.UserData"
            }
        },
        "command.BotInfo": {
            "type": "object",
            "properties": {
                "activeGames": {
                    "type": "integer"
                },
                "commit": {
                    "type": "string"
                },
                "shardCount": {
                    "type": "integer"
                },
                "shardID": {
                    "type": "integer"
                },
                "totalGames": {
                    "type": "integer"
                },
                "totalGuilds": {
                    "type": "integer"
                },
                "totalUsers": {
                    "type": "integer"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "discordgo.ApplicationCommand": {
            "type": "object",
            "properties": {
                "application_id": {
                    "type": "string"
                },
                "default_permission": {
                    "type": "boolean"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "options": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/discordgo.ApplicationCommandOption"
                    }
                },
                "type": {
                    "$ref": "#/definitions/discordgo.ApplicationCommandType"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "discordgo.ApplicationCommandOption": {
            "type": "object",
            "properties": {
                "autocomplete": {
                    "description": "NOTE: mutually exclusive with Choices.",
                    "type": "boolean"
                },
                "channel_types": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/discordgo.ChannelType"
                    }
                },
                "choices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/discordgo.ApplicationCommandOptionChoice"
                    }
                },
                "description": {
                    "type": "string"
                },
                "max_value": {
                    "description": "Maximum value of number/integer option.",
                    "type": "number"
                },
                "min_value": {
                    "description": "Minimal value of number/integer option.",
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "options": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/discordgo.ApplicationCommandOption"
                    }
                },
                "required": {
                    "type": "boolean"
                },
                "type": {
                    "$ref": "#/definitions/discordgo.ApplicationCommandOptionType"
                }
            }
        },
        "discordgo.ApplicationCommandOptionChoice": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {}
            }
        },
        "discordgo.ApplicationCommandOptionType": {
            "type": "integer",
            "enum": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11
            ],
            "x-enum-varnames": [
                "ApplicationCommandOptionSubCommand",
                "ApplicationCommandOptionSubCommandGroup",
                "ApplicationCommandOptionString",
                "ApplicationCommandOptionInteger",
                "ApplicationCommandOptionBoolean",
                "ApplicationCommandOptionUser",
                "ApplicationCommandOptionChannel",
                "ApplicationCommandOptionRole",
                "ApplicationCommandOptionMentionable",
                "ApplicationCommandOptionNumber",
                "ApplicationCommandOptionAttachment"
            ]
        },
        "discordgo.ApplicationCommandType": {
            "type": "integer",
            "enum": [
                1,
                2,
                3
            ],
            "x-enum-varnames": [
                "ChatApplicationCommand",
                "UserApplicationCommand",
                "MessageApplicationCommand"
            ]
        },
        "discordgo.ChannelType": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                10,
                11,
                12
            ],
            "x-enum-varnames": [
                "ChannelTypeGuildText",
                "ChannelTypeDM",
                "ChannelTypeGuildVoice",
                "ChannelTypeGroupDM",
                "ChannelTypeGuildCategory",
                "ChannelTypeGuildNews",
                "ChannelTypeGuildStore",
                "ChannelTypeGuildNewsThread",
                "ChannelTypeGuildPublicThread",
                "ChannelTypeGuildPrivateThread"
            ]
        },
        "game.Phase": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5
            ],
            "x-enum-varnames": [
                "LOBBY",
                "TASKS",
                "DISCUSS",
                "MENU",
                "GAMEOVER",
                "UNINITIALIZED"
            ]
        },
        "game.PlayMap": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                10
            ],
            "x-enum-comments": {
                "DLEKS": "Skeld backwards"
            },
            "x-enum-varnames": [
                "SKELD",
                "MIRA",
                "POLUS",
                "DLEKS",
                "AIRSHIP",
                "EMPTYMAP"
            ]
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "",
	Host:             "",
	BasePath:         "",
	Schemes:          []string{},
	Title:            "",
	Description:      "",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
