package bgammon type Command string const ( CommandLogin = "login" // Log in with username and password, or as a guest. CommandLoginJSON = "loginjson" // Log in with username and password, or as a guest, and enable JSON messages. CommandRegister = "register" // Register an account. CommandRegisterJSON = "registerjson" // Register an account and enable JSON messages. CommandResetPassword = "resetpassword" // Request password reset link via email. CommandPassword = "password" // Change password. CommandSet = "set" // Change account setting. CommandReplay = "replay" // Retrieve replay. CommandHistory = "history" // Retrieve match history. CommandHelp = "help" // Print help information. CommandJSON = "json" // Enable or disable JSON formatted messages. CommandSay = "say" // Send chat message. CommandList = "list" // List available matches. CommandCreate = "create" // Create match. CommandJoin = "join" // Join match. CommandLeave = "leave" // Leave match. CommandDouble = "double" // Offer double to opponent. CommandResign = "resign" // Decline double offer and resign game. CommandRoll = "roll" // Roll dice. CommandMove = "move" // Move checkers. CommandReset = "reset" // Reset checker movement. CommandOk = "ok" // Confirm checker movement and pass turn to next player. CommandRematch = "rematch" // Confirm checker movement and pass turn to next player. CommandBoard = "board" // Print current board state in human-readable form. CommandPong = "pong" // Response to server ping. CommandDisconnect = "disconnect" // Disconnect from server. CommandMOTD = "motd" // Read (or write) the message of the day. CommandBroadcast = "broadcast" // Send a message to all players. CommandShutdown = "shutdown" // Prevent the creation of new matches. ) type EventType string const ( EventTypeWelcome = "welcome" EventTypeHelp = "help" EventTypePing = "ping" EventTypeNotice = "notice" EventTypeSay = "say" EventTypeList = "list" EventTypeJoined = "joined" EventTypeFailedJoin = "failedjoin" EventTypeLeft = "left" EventTypeFailedLeave = "failedleave" EventTypeBoard = "board" EventTypeRolled = "rolled" EventTypeFailedRoll = "failedroll" EventTypeMoved = "moved" EventTypeFailedMove = "failedmove" EventTypeFailedOk = "failedok" EventTypeWin = "win" EventTypeSettings = "settings" EventTypeReplay = "replay" EventTypeHistory = "history" ) var HelpText = map[string]string{ CommandLogin: "[username] [password] - Log in. A random username is assigned when none is provided.", CommandRegister: " - Register an account. A valid email address must be provided.", CommandResetPassword: " - Request a password reset link via email.", CommandPassword: " - Change account password.", CommandSet: " - Change account setting. Available settings: highlight, pips and moves.", CommandReplay: " - Retrieve replay of the specified game.", CommandHistory: " [page] - Retrieve match history of the specified player.", CommandHelp: "[command] - Request help for all commands, or optionally a specific command.", CommandSay: " - Send a chat message. This command can only be used after creating or joining a match.", CommandList: "- List all matches.", CommandCreate: "/ [name] - Create a match. A variant value of 0 represents a standard game, a value of 1 represents an acey-deucey game and a value of 2 represents a tabula game.", CommandJoin: "/ [password] - Join match by match ID or by player.", CommandLeave: "- Leave match.", CommandDouble: "- Offer double to opponent.", CommandResign: "- Resign game. Resigning when a double is offered will decline the offer.", CommandRoll: "- Roll dice.", CommandMove: " [from-to]... - Move checkers.", CommandReset: "- Reset pending checker movement.", CommandOk: "[1-6] - Accept double offer or confirm checker movement. The parameter for this command only applies in acey-deucey games.", CommandRematch: "- Request (or accept) a rematch after a match has been finished.", CommandBoard: "- Request current match state.", CommandPong: " - Sent in response to server ping event to prevent the connection from timing out.", CommandDisconnect: "- Disconnect from the server.", CommandMOTD: "[message] - View (or set) message of the day. Specifying a new message of the day is only available to server administrators.", CommandBroadcast: " - Send a message to all players. This command is only available to server administrators.", CommandShutdown: " - Prevent the creation of new matches and periodically warn players about the server shutting down. This command is only available to server administrators.", }