func onCommand(bot *telebot.Bot, command string, args []string) { if command == "msg" && len(args) > 1 { user := config.GetUser(args[0]) if user.UID == config.NilUser.UID { log.Errorf("[Syscmds] Couldn't get an user with the name or UID %s", args[0]) } msg := connect(args[1:]) bot.SendMessage(user, "*[Sysadmin]* "+msg, util.Markdown) log.Infof("[Syscmds] Sent message %[1]s to %[2]s", msg, user.Name) } else if command == "broadcast" && len(args) > 0 { msg := connect(args) for _, user := range config.GetAllUsers() { bot.SendMessage(user, "*[Sysadmin Broadcast]* "+msg, util.Markdown) } log.Infof("[Syscmds] Broadcasted message %[1]s", msg) } else if command == "config" && len(args) > 0 { if strings.EqualFold(args[0], "save") { if !config.IndentConfig && len(args) > 1 && strings.EqualFold(args[0], "pretty") { config.IndentConfig = true config.Save() config.IndentConfig = false } else { config.Save() } } else if strings.EqualFold(args[0], "load") { config.Load() } } else if command == "stop" { Shutdown("Sysadmin") } }
// HandleCommand handles a /language command func HandleCommand(bot *telebot.Bot, message telebot.Message, args []string) { sender := config.GetUserWithUID(message.Sender.ID) if len(args) > 0 { lang := GetLanguage(args[0]) if lang == nil { bot.SendMessage(message.Chat, Translatef(sender, "lang.notfound", lang.Name), util.Markdown) return } if len(args) > 1 { user := config.GetUser(args[1]) if user.UID != config.NilUser.UID && !sender.HasPermission(langChangeOtherPerm) { bot.SendMessage(message.Chat, Translatef(sender, "error.noperms", langChangeOtherPerm), util.Markdown) return } user.SetSetting("language", lang.Name) bot.SendMessage(message.Chat, Translatef(sender, "lang.changed.other", lang.Name, user.Name), util.Markdown) } else { sender.SetSetting("language", lang.Name) bot.SendMessage(message.Chat, Translatef(sender, "lang.changed", lang.Name), util.Markdown) } } else { bot.SendMessage(message.Chat, Translatef(sender, "lang.usage"), util.Markdown) } }