// This file is automatically generated. Do not edit. package pyx import () // AjaxOperation const ( AjaxOperation_NAMES = "gn" AjaxOperation_SCORE = "SC" AjaxOperation_LEAVE_GAME = "lg" AjaxOperation_JOIN_GAME = "jg" AjaxOperation_CHAT = "c" AjaxOperation_GAME_LIST = "ggl" AjaxOperation_CARDCAST_ADD_CARDSET = "cac" AjaxOperation_CARDCAST_LIST_CARDSETS = "clc" AjaxOperation_PLAY_CARD = "pc" AjaxOperation_CHANGE_GAME_OPTIONS = "cgo" AjaxOperation_GET_GAME_INFO = "ggi" AjaxOperation_GET_CARDS = "gc" AjaxOperation_ADMIN_SET_VERBOSE_LOG = "svl" AjaxOperation_REGISTER = "r" AjaxOperation_CARDCAST_REMOVE_CARDSET = "crc" AjaxOperation_WHOIS = "Wi" AjaxOperation_KICK = "K" AjaxOperation_FIRST_LOAD = "fl" AjaxOperation_START_GAME = "sg" AjaxOperation_LOG_OUT = "lo" AjaxOperation_BAN = "b" AjaxOperation_CREATE_GAME = "cg" AjaxOperation_STOP_GAME = "Sg" AjaxOperation_GAME_CHAT = "GC" AjaxOperation_SPECTATE_GAME = "vg" AjaxOperation_JUDGE_SELECT = "js" ) // AjaxRequest const ( AjaxRequest_SERIAL = "s" AjaxRequest_OP = "o" AjaxRequest_WALL = "wall" AjaxRequest_PERSISTENT_ID = "pid" AjaxRequest_EMOTE = "me" AjaxRequest_CARDCAST_ID = "cci" AjaxRequest_GAME_ID = "gid" AjaxRequest_GAME_OPTIONS = "go" AjaxRequest_MESSAGE = "m" AjaxRequest_NICKNAME = "n" AjaxRequest_PASSWORD = "pw" AjaxRequest_CARD_ID = "cid" AjaxRequest_ID_CODE = "idc" ) type AjaxRequest struct { Serial int `json:"s"` Op string `json:"o"` Wall bool `json:"wall"` PersistentId string `json:"pid"` Emote bool `json:"me"` CardcastId string `json:"cci"` GameId int `json:"gid"` GameOptions GameOptionData `json:"go"` Message string `json:"m"` Nickname string `json:"n"` Password string `json:"pw"` CardId int `json:"cid"` IdCode string `json:"idc"` } // AjaxResponse const ( AjaxResponse_NAMES = "nl" AjaxResponse_CLIENT_NAME = "cn" AjaxResponse_GAME_CHAT_ENABLED = "Gce" AjaxResponse_PLAYER_INFO = "pi" AjaxResponse_CONNECTED_AT = "ca" AjaxResponse_WHITE_CARDS = "wc" AjaxResponse_HAND = "h" AjaxResponse_ERROR_CODE = "ec" AjaxResponse_GLOBAL_CHAT_ENABLED = "gce" AjaxResponse_SERVER_STARTED = "SS" AjaxResponse_NEXT = "next" AjaxResponse_GAME_INFO = "gi" AjaxResponse_ERROR = "e" AjaxResponse_GAME_STATE_DESCRIPTION = "gss" AjaxResponse_ID_CODE = "idc" AjaxResponse_CARD_SETS = "css" AjaxResponse_SERIAL = "s" AjaxResponse_PERSISTENT_ID = "pid" AjaxResponse_USER_PERMALINK = "up" AjaxResponse_GAMES = "gl" AjaxResponse_SIGIL = "?" AjaxResponse_GAME_ID = "gid" AjaxResponse_MAX_GAMES = "mg" AjaxResponse_IN_PROGRESS = "ip" AjaxResponse_GAME_OPTIONS = "go" AjaxResponse_NICKNAME = "n" AjaxResponse_BLACK_CARD = "bc" AjaxResponse_GAME_PERMALINK = "gp" AjaxResponse_IDLE = "idl" AjaxResponse_CARD_ID = "cid" AjaxResponse_IP_ADDRESS = "IP" AjaxResponse_SESSION_PERMALINK = "sP" ) type AjaxResponse struct { Names []string `json:"nl"` ClientName string `json:"cn"` GameChatEnabled bool `json:"Gce"` PlayerInfo []GamePlayerInfo `json:"pi"` ConnectedAt int64 `json:"ca"` WhiteCards []int `json:"wc"` Hand []int `json:"h"` ErrorCode string `json:"ec"` GlobalChatEnabled bool `json:"gce"` ServerStarted int64 `json:"SS"` Next string `json:"next"` GameInfo GameInfo `json:"gi"` Error bool `json:"e"` GameStateDescription string `json:"gss"` IdCode string `json:"idc"` CardSets []CardSetData `json:"css"` Serial int `json:"s"` PersistentId string `json:"pid"` UserPermalink string `json:"up"` Games []GameInfo `json:"gl"` Sigil string `json:"?"` GameId *int `json:"gid"` MaxGames int `json:"mg"` InProgress bool `json:"ip"` GameOptions GameOptionData `json:"go"` Nickname string `json:"n"` BlackCard int `json:"bc"` GamePermalink string `json:"gp"` Idle int64 `json:"idl"` CardId int `json:"cid"` IpAddress string `json:"IP"` SessionPermalink string `json:"sP"` } // BlackCardData const ( BlackCardData_DRAW = "D" BlackCardData_PICK = "PK" BlackCardData_TEXT = "T" BlackCardData_ID = "cid" BlackCardData_WATERMARK = "W" ) type BlackCardData struct { Draw int `json:"D"` Pick int `json:"PK"` Text string `json:"T"` Id int `json:"cid"` Watermark string `json:"W"` } // CardSetData const ( CardSetData_WHITE_CARDS_IN_DECK = "wcid" CardSetData_BLACK_CARDS_IN_DECK = "bcid" CardSetData_CARD_SET_NAME = "csn" CardSetData_CARD_SET_DESCRIPTION = "csd" CardSetData_BASE_DECK = "bd" CardSetData_ID = "cid" CardSetData_WEIGHT = "w" ) type CardSetData struct { WhiteCardsInDeck int `json:"wcid"` BlackCardsInDeck int `json:"bcid"` CardSetName string `json:"csn"` CardSetDescription string `json:"csd"` BaseDeck bool `json:"bd"` Id int `json:"cid"` Weight int `json:"w"` } // DisconnectReason const ( DisconnectReason_PING_TIMEOUT = "pt" DisconnectReason_BANNED = "B&" DisconnectReason_IDLE_TIMEOUT = "it" DisconnectReason_KICKED = "k" DisconnectReason_MANUAL = "man" ) var DisconnectReasonMsgs = map[string]string{ "B&": "Banned", "pt": "Ping timeout", "it": "Kicked due to idle", "k": "Kicked by server administrator", "man": "Leaving", } // ErrorCode const ( ErrorCode_INVALID_NICK = "in" ErrorCode_TOO_MANY_USERS = "tmu" ErrorCode_NOT_GAME_HOST = "ngh" ErrorCode_MESSAGE_TOO_LONG = "mtl" ErrorCode_NO_NICK_SPECIFIED = "nns" ErrorCode_REPEATED_WORDS = "rW" ErrorCode_BANNED = "B&" ErrorCode_WRONG_PASSWORD = "wp" ErrorCode_RESERVED_NICK = "rn" ErrorCode_TOO_MANY_GAMES = "tmg" ErrorCode_INVALID_ID_CODE = "iid" ErrorCode_CANNOT_JOIN_ANOTHER_GAME = "cjag" ErrorCode_NO_MSG_SPECIFIED = "nms" ErrorCode_CAPSLOCK = "CL" ErrorCode_ALREADY_STARTED = "as" ErrorCode_NOT_ADMIN = "na" ErrorCode_INVALID_GAME = "ig" ErrorCode_NO_SESSION = "ns" ErrorCode_ACCESS_DENIED = "ad" ErrorCode_NICK_IN_USE = "niu" ErrorCode_NOT_JUDGE = "nj" ErrorCode_SERVER_ERROR = "serr" ErrorCode_CARDCAST_INVALID_ID = "cii" ErrorCode_TOO_FAST = "tf" ErrorCode_NOT_ENOUGH_CARDS = "nec" ErrorCode_NO_CARD_SPECIFIED = "ncs" ErrorCode_REPEAT_MESSAGE = "rm" ErrorCode_NO_GAME_SPECIFIED = "ngs" ErrorCode_OP_NOT_SPECIFIED = "ons" ErrorCode_TOO_MANY_SPECIAL_CHARACTERS = "tmsc" ErrorCode_BAD_REQUEST = "br" ErrorCode_NOT_ENOUGH_PLAYERS = "nep" ErrorCode_CARDCAST_CANNOT_FIND = "ccf" ErrorCode_NOT_IN_THAT_GAME = "nitg" ErrorCode_NO_SUCH_USER = "nsu" ErrorCode_NOT_REGISTERED = "nr" ErrorCode_BAD_OP = "bo" ErrorCode_DO_NOT_HAVE_CARD = "dnhc" ErrorCode_NOT_YOUR_TURN = "nyt" ErrorCode_PLAYED_ALL_CARDS = "pac" ErrorCode_NOT_ENOUGH_SPACES = "nes" ErrorCode_ALREADY_STOPPED = "aS" ErrorCode_SESSION_EXPIRED = "se" ErrorCode_GAME_FULL = "gf" ErrorCode_INVALID_CARD = "ic" ) var ErrorCodeMsgs = map[string]string{ "cii": "Invalid Cardcast ID. Must be exactly 5 characters.", "nr": "Not registered. Refresh the page.", "iid": "Identification code, if provided, must be between 8 and 100 characters, inclusive.", "ns": "Session not detected. Make sure you have cookies enabled.", "ccf": "Cannot find Cardcast deck with given ID. If you just added this deck to Cardcast, wait a few minutes and try again.", "nyt": "It is not your turn to play a card.", "bo": "Invalid operation.", "nec": "You must add card sets containing at least 50 black cards and 20 times the player limit white cards.", "ngh": "Only the game host can do that.", "tmg": "There are too many games already in progress. Either join an existing game, or wait for one to become available.", "br": "Bad request.", "nsu": "No such user.", "aS": "The game has already stopped.", "se": "Your session has expired. Refresh the page.", "pac": "You already played all the necessary cards!", "nms": "No message specified.", "nep": "There are not enough players to start the game.", "wp": "That password is incorrect.", "ic": "Invalid card specified.", "niu": "Nickname is already in use.", "ngs": "No game specified.", "nes": "You must use more words in a message that long.", "nitg": "You are not in that game.", "tmu": "There are too many users connected. Either join another server, or wait for a user to disconnect.", "ig": "Invalid game specified.", "gf": "That game is full. Join another.", "ncs": "No card specified.", "ad": "Access denied.", "cjag": "You cannot join another game.", "B&": "Banned.", "mtl": "Messages cannot be longer than 200 characters.", "in": "Nickname must contain only upper and lower case letters, numbers, or underscores, must be 3 to 30 characters long, and must not start with a number.", "rW": "You must use more unique words in your message.", "serr": "An error occurred on the server.", "CL": "Try turning caps lock off.", "dnhc": "You don't have that card.", "as": "The game has already started.", "nns": "No nickname specified.", "tf": "You are chatting too fast. Wait a few seconds and try again.", "na": "You are not an administrator.", "ons": "Operation not specified.", "rm": "You can't repeat the same message multiple times in a row.", "nj": "You are not the judge.", "rn": "That nick is reserved.", "tmsc": "You used too many special characters in that message.", } // ErrorInformation const ( ErrorInformation_WHITE_CARDS_PRESENT = "wcp" ErrorInformation_WHITE_CARDS_REQUIRED = "wcr" ErrorInformation_BLACK_CARDS_REQUIRED = "bcr" ErrorInformation_BLACK_CARDS_PRESENT = "bcp" ) // GameInfo const ( GameInfo_GAME_OPTIONS = "go" GameInfo_CREATED = "gca" GameInfo_PLAYERS = "P" GameInfo_SPECTATORS = "V" GameInfo_HOST = "H" GameInfo_STATE = "S" GameInfo_ID = "gid" GameInfo_HAS_PASSWORD = "hp" ) type GameInfo struct { GameOptions GameOptionData `json:"go"` Created int64 `json:"gca"` Players []string `json:"P"` Spectators []string `json:"V"` Host string `json:"H"` State string `json:"S"` Id int `json:"gid"` HasPassword bool `json:"hp"` } // GameOptionData const ( GameOptionData_TIMER_MULTIPLIER = "tm" GameOptionData_PASSWORD = "pw" GameOptionData_SPECTATOR_LIMIT = "vL" GameOptionData_SCORE_LIMIT = "sl" GameOptionData_BLANKS_LIMIT = "bl" GameOptionData_PLAYER_LIMIT = "pL" GameOptionData_CARD_SETS = "css" ) type GameOptionData struct { TimerMultiplier string `json:"tm"` Password string `json:"pw"` SpectatorLimit int `json:"vL"` ScoreLimit int `json:"sl"` BlanksLimit int `json:"bl"` PlayerLimit int `json:"pL"` CardSets []int `json:"css"` } // GamePlayerInfo const ( GamePlayerInfo_STATUS = "st" GamePlayerInfo_SCORE = "sc" GamePlayerInfo_NAME = "N" ) type GamePlayerInfo struct { Status string `json:"st"` Score int `json:"sc"` Name string `json:"N"` } // GamePlayerStatus const ( GamePlayerStatus_SPECTATOR = "sv" GamePlayerStatus_WINNER = "sw" GamePlayerStatus_IDLE = "si" GamePlayerStatus_HOST = "sh" GamePlayerStatus_JUDGING = "sjj" GamePlayerStatus_JUDGE = "sj" GamePlayerStatus_PLAYING = "sp" ) var GamePlayerStatusMsgs = map[string]string{ "sjj": "Selecting", "sv": "Spectator", "sw": "Winner!", "sh": "Host", "si": "", "sj": "Card Czar", "sp": "Playing", } var GamePlayerStatusMsgs2 = map[string]string{ "sjj": "Select a winning card.", "sv": "You are just spectating.", "sw": "You have won!", "sh": "Wait for players then click Start Game.", "si": "Waiting for players...", "sj": "You are the Card Czar.", "sp": "Select a card to play.", } // GameState const ( GameState_ROUND_OVER = "ro" GameState_LOBBY = "l" GameState_JUDGING = "j" GameState_PLAYING = "p" ) var GameStateMsgs = map[string]string{ "p": "In Progress", "j": "In Progress", "l": "Not Started", "ro": "In Progress", } // LongPollEvent const ( LongPollEvent_GAME_ROUND_COMPLETE = "grc" LongPollEvent_BANNED = "B&" LongPollEvent_NOOP = "_" LongPollEvent_CHAT = "c" LongPollEvent_GAME_PLAYER_INFO_CHANGE = "gpic" LongPollEvent_HAND_DEAL = "hd" LongPollEvent_CARDCAST_ADD_CARDSET = "cac" LongPollEvent_PLAYER_LEAVE = "pl" LongPollEvent_GAME_BLACK_RESHUFFLE = "gbr" LongPollEvent_GAME_JUDGE_SKIPPED = "gjs" LongPollEvent_GAME_LIST_REFRESH = "glr" LongPollEvent_NEW_PLAYER = "np" LongPollEvent_GAME_PLAYER_SKIPPED = "gps" LongPollEvent_GAME_PLAYER_JOIN = "gpj" LongPollEvent_GAME_WHITE_RESHUFFLE = "gwr" LongPollEvent_CARDCAST_REMOVE_CARDSET = "crc" LongPollEvent_GAME_OPTIONS_CHANGED = "goc" LongPollEvent_GAME_PLAYER_KICKED_IDLE = "gpki" LongPollEvent_GAME_SPECTATOR_LEAVE = "gvl" LongPollEvent_GAME_PLAYER_LEAVE = "gpl" LongPollEvent_GAME_SPECTATOR_JOIN = "gvj" LongPollEvent_HURRY_UP = "hu" LongPollEvent_GAME_JUDGE_LEFT = "gjl" LongPollEvent_KICKED = "k" LongPollEvent_KICKED_FROM_GAME_IDLE = "kfgi" LongPollEvent_FILTERED_CHAT = "FC" LongPollEvent_GAME_STATE_CHANGE = "gsc" ) // LongPollResponse const ( LongPollResponse_PLAY_TIMER = "Pt" LongPollResponse_PLAYER_INFO = "pi" LongPollResponse_FROM = "f" LongPollResponse_WHITE_CARDS = "wc" LongPollResponse_EVENT = "E" LongPollResponse_HAND = "h" LongPollResponse_ERROR_CODE = "ec" LongPollResponse_MESSAGE = "m" LongPollResponse_WINNING_CARD = "WC" LongPollResponse_FROM_ADMIN = "fa" LongPollResponse_TIMESTAMP = "ts" LongPollResponse_GAME_INFO = "gi" LongPollResponse_ERROR = "e" LongPollResponse_ID_CODE = "idc" LongPollResponse_REASON = "qr" LongPollResponse_WALL = "wall" LongPollResponse_ROUND_WINNER = "rw" LongPollResponse_SIGIL = "?" LongPollResponse_EMOTE = "me" LongPollResponse_CARDCAST_DECK_INFO = "cdi" LongPollResponse_GAME_ID = "gid" LongPollResponse_ROUND_PERMALINK = "rP" LongPollResponse_NICKNAME = "n" LongPollResponse_BLACK_CARD = "bc" LongPollResponse_GAME_PERMALINK = "gp" LongPollResponse_GAME_STATE = "gs" LongPollResponse_INTERMISSION = "i" ) type LongPollResponse struct { PlayTimer int `json:"Pt"` PlayerInfo []GamePlayerInfo `json:"pi"` From string `json:"f"` WhiteCards [][]WhiteCardData `json:"wc"` Event string `json:"E"` Hand []WhiteCardData `json:"h"` ErrorCode string `json:"ec"` Message string `json:"m"` WinningCard int `json:"WC"` FromAdmin bool `json:"fa"` Timestamp int64 `json:"ts"` GameInfo GameInfo `json:"gi"` Error bool `json:"e"` IdCode string `json:"idc"` Reason string `json:"qr"` Wall bool `json:"wall"` RoundWinner string `json:"rw"` Sigil string `json:"?"` Emote bool `json:"me"` CardcastDeckInfo string `json:"cdi"` GameId *int `json:"gid"` RoundPermalink string `json:"rP"` Nickname string `json:"n"` BlackCard BlackCardData `json:"bc"` GamePermalink string `json:"gp"` GameState string `json:"gs"` Intermission int `json:"i"` } // ReconnectNextAction const ( ReconnectNextAction_GAME = "game" ReconnectNextAction_NONE = "none" ) // Sigil const ( Sigil_NORMAL_USER = "" Sigil_ADMIN = "@" Sigil_ID_CODE = "+" ) // WhiteCardData const ( WhiteCardData_WRITE_IN = "wi" WhiteCardData_TEXT = "T" WhiteCardData_ID = "cid" WhiteCardData_WATERMARK = "W" ) type WhiteCardData struct { WriteIn bool `json:"wi"` Text string `json:"T"` Id int `json:"cid"` Watermark string `json:"W"` }