This repository has been archived on 2022-10-02. You can view files and clone it, but cannot push or open issues or pull requests.
dcbot-old/discord/command.go

41 lines
762 B
Go
Raw Normal View History

2020-06-27 16:48:33 +00:00
package discord
2020-07-19 10:16:02 +00:00
import (
"github.com/bwmarrin/discordgo"
2020-07-19 10:16:02 +00:00
"github.com/nicksnyder/go-i18n/v2/i18n"
"github.com/tribalwarshelp/dcbot/model"
2020-07-19 10:16:02 +00:00
)
2020-06-27 16:48:33 +00:00
type Command string
func (cmd Command) String() string {
return string(cmd)
}
func (cmd Command) WithPrefix(prefix string) Command {
return Command(prefix + cmd.String())
2020-06-27 16:48:33 +00:00
}
2020-07-19 10:16:02 +00:00
type commandCtx struct {
server *model.Server
2020-07-19 10:16:02 +00:00
localizer *i18n.Localizer
}
type commandHandler struct {
cmd Command
requireAdmPermissions bool
fn func(ctx *commandCtx, m *discordgo.MessageCreate, args ...string)
}
type commandHandlers []*commandHandler
func (hs commandHandlers) find(cmd Command) *commandHandler {
for _, h := range hs {
if h.cmd == cmd {
return h
}
}
return nil
}