Browse Source

Show which type commands are loded

pull/1/head
Sam 5 years ago
parent
commit
10fe8ce609
  1. 9
      cmdHelp.go
  2. 3
      tcmdAutoReact.go
  3. 1
      types.go

9
cmdHelp.go

@ -5,6 +5,7 @@ package main
import ( import (
"fmt" "fmt"
"sort" "sort"
"strings"
) )
func init() { func init() {
@ -20,11 +21,19 @@ func init() {
func cmdHelp(cmd []string) { func cmdHelp(cmd []string) {
var helpText string var helpText string
var tCommands []string
if len(cmd) == 1 { if len(cmd) == 1 {
sort.Strings(baseCommands) sort.Strings(baseCommands)
for _, c := range baseCommands { for _, c := range baseCommands {
helpText = fmt.Sprintf("%s%s%s\t\t%s\n", helpText, cmdPrefix, c, commands[c].Description) helpText = fmt.Sprintf("%s%s%s\t\t%s\n", helpText, cmdPrefix, c, commands[c].Description)
} }
if len(typeCommands) > 0 {
for c, _ := range typeCommands {
tCommands = append(tCommands, typeCommands[c].Name)
}
sort.Strings(tCommands)
helpText = fmt.Sprintf("%s\nThe following Type Commands are currently loaded: %s", helpText, strings.Join(tCommands, ", "))
}
} }
printToView("Chat", helpText) printToView("Chat", helpText)
} }

3
tcmdAutoReact.go

@ -1,4 +1,4 @@
// +build ignore // +ignore
// +build type_commands autoreactcmd // +build type_commands autoreactcmd
package main package main
@ -10,6 +10,7 @@ import (
func init() { func init() {
command := TypeCommand{ command := TypeCommand{
Cmd: []string{"text"}, Cmd: []string{"text"},
Name: "AutoReact",
Description: "Automatically reacts to every incoming message with an emoji", Description: "Automatically reacts to every incoming message with an emoji",
Exec: tcmdAutoReact, Exec: tcmdAutoReact,
} }

1
types.go

@ -13,6 +13,7 @@ type Command struct {
// TypeCommand outlines a command that reacts on message type // TypeCommand outlines a command that reacts on message type
type TypeCommand struct { type TypeCommand struct {
Cmd []string // Message types that trigger this command Cmd []string // Message types that trigger this command
Name string // The name of this command
Description string // A short description of the command Description string // A short description of the command
Exec func(keybase.ChatAPI) // A function that takes a raw chat message as input Exec func(keybase.ChatAPI) // A function that takes a raw chat message as input
} }

Loading…
Cancel
Save