Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Help = dbot.NewCommand("help"). SetDescription("Show list of command or specific command usage."). AddTags("category:core"). SetCooldown(time.Second * 5). SetFunc(func(ctx *dbot.MessageContext) error { categoryMap := make(map[string][]*dbot.Command) for _, command := range ctx.Bot.Commands { var cats []string for _, tag := range command.Tags { if strings.HasPrefix(tag, "category:") { cat := strings.Fields(strings.TrimPrefix(tag, "category:")) if len(cat) > 0 { cats = append(cats, cat...) } } } if cats == nil { cats = []string{"uncategorised"} } for _, c := range cats { categoryMap[c] = append(categoryMap[c], command) } } for _, commands := range categoryMap { sort.Slice(commands, func(i, j int) bool { return strings.Compare(commands[i].Name, commands[j].Name) > 0 }) } if len(ctx.Arguments) > 1 { cat := ctx.Arguments[1].String() commands, ok := categoryMap[cat] if !ok { return fmt.Errorf("category '%s' does not exist", cat) } var s []string for _, command := range commands { s = append(s, fmt.Sprintf("`%s`: %s", command.Name, command.Description)) } err := ctx.SetField(cat, strings.Join(s, "\n")) if err != nil { return err } } else { var categories []string for cat := range categoryMap { categories = append(categories, cat) } sort.Strings(categories) for _, cat := range categories { var s []string for _, command := range categoryMap[cat] { s = append(s, fmt.Sprintf("`%s`: %s", command.Name, command.Description)) } err := ctx.SetField(cat, strings.Join(s, "\n")) if err != nil { return err } } } return nil }) Ping = dbot.NewCommand("ping"). SetDescription("Check bot responsiveness."). AddTags("category:core"). SetCooldown(time.Second * 5). SetFunc(func(ctx *dbot.MessageContext) error { then := time.Now() err := ctx.SetField("Latency", "...") if err != nil { return err } now, err := ctx.Response.Timestamp.Parse() if err != nil { return err } return ctx.SetField("Latency", fmt.Sprintf("%dms", now.Sub(then).Milliseconds())) }) )
View Source
var CoreDefaults = []*dbot.Command{ Help, Ping, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.