1
0
mirror of https://github.com/Luzifer/lounge-control.git synced 2024-09-20 23:02:59 +00:00
lounge-control/cmd_listChannels.go

45 lines
755 B
Go

package main
import (
"errors"
"fmt"
"os"
"sort"
"strings"
"github.com/Luzifer/lounge-control/sioclient"
)
func init() {
registerCommand("list-channels", commandListChannels)
}
func commandListChannels(args []string) handlerFunc {
return addGenericHandler(func(pType string, msg *sioclient.Message) error {
if pType != "init" {
return nil
}
network := initData.NetworkByNameOrUUID(cfg.Network)
if network == nil {
return errors.New("Network not found")
}
var channels []string
for _, c := range network.Channels {
if c.Type == "lobby" {
continue
}
channels = append(channels, c.Name)
}
sort.Strings(channels)
fmt.Println(strings.Join(channels, "\n"))
interrupt <- os.Interrupt
return nil
})
}