var OpenChallenges … var mu … func Commands() (cmds []commands.Command) { … } type ArmWrestlingCommand … func (m ArmWrestlingCommand) Launch() commands.LaunchType { … } func (m ArmWrestlingCommand) DelayResponse() bool { … } func (m ArmWrestlingCommand) Inputs() []commands.CommandInput { … } func (m ArmWrestlingCommand) Name() string { … } func (m ArmWrestlingCommand) Description() string { … } func (m ArmWrestlingCommand) Handler() commands.CommandHandler { … } type ArmWrestlingCommandHandler … func (h ArmWrestlingCommandHandler) Flags() discordgo.MessageFlags { … } func (h ArmWrestlingCommandHandler) Handle(c commands.CommandActivation) { … } func (a *ArmWrestleChallenge) displayAcceptanceForm(c commands.CommandActivation, challenge *ArmWrestleChallenge) { … } func (a *ArmWrestleChallenge) declineArmWrestle(c commands.CommandComponentActivation) { … } func (a *ArmWrestleChallenge) acceptArmWrestle(c commands.CommandComponentActivation) { … } func ArmWrestle(c commands.CommandActivation) { … }