type chatCommand … func (s chatCommand) Launch() LaunchType { … } func (s chatCommand) DelayResponse() bool { … } func (s chatCommand) Name() string { … } func (s chatCommand) Description() string { … } func (s chatCommand) Handler() CommandHandler { … } func (s chatCommand) Inputs() []CommandInput { … } func NewChatCommand(name, description string, handler CommandHandler) Command { … } func NewDelayedChatCommand(name, description string, handler CommandHandler) Command { … }