package commands import ( tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" "log" "os" "strconv" "strings" "time" "watn3y/bloaterbotv3/botIO" "watn3y/bloaterbotv3/commands/download" "watn3y/bloaterbotv3/commands/gaypoints" "watn3y/bloaterbotv3/commands/notify" "watn3y/bloaterbotv3/config" ) func Commands(update tgbotapi.Update, bot *tgbotapi.BotAPI) { cmd := strings.ToLower(update.Message.Command()) switch cmd { case "shutup": shutup(update, bot) case "shut": shutup(update, bot) case "gp": gaypoints.GetGP(update, bot) case "addgp": gaypoints.SetGP(update, bot) case "subtractgp": gaypoints.SetGP(update, bot) case "remindme": notify.Reminder(update, bot) case "download": go download.Download(update, bot) case "dl": go download.Download(update, bot) case "help": help(update, bot) case "info": info(update, bot) } } func shutup(update tgbotapi.Update, bot *tgbotapi.BotAPI) { config.BotConfig.Shutup[update.Message.Chat.ID] = time.Now().UTC() msg := tgbotapi.NewMessage(update.Message.Chat.ID, "Shutting up") log.Println("Shutting up for Chat: " + strconv.FormatInt(update.Message.Chat.ID, 10)) botIO.SendMessage(msg, bot) } func help(update tgbotapi.Update, bot *tgbotapi.BotAPI) { const textHelp string = "User commands:" + "\n\n" + "/help Sends this help message" + "\n" + "/gp List Gaypoints for user or group" + "\n" + "/remindme 2m,5h,7d <message> Send a reminder message in 2 minutes, 5 hours, 7 days" + "\n\n" + "Admin Commands:" + "\n" + "/addgp <amount> Add Gaypoints to User" + "\n" + "/subtractgp <amount> Add Gaypoints to User" + "\n" message := tgbotapi.MessageConfig{ BaseChat: tgbotapi.BaseChat{ChatID: update.Message.Chat.ID, ReplyToMessageID: update.Message.MessageID}, ParseMode: "html", DisableWebPagePreview: false, Text: textHelp, } botIO.SendMessage(message, bot) } func info(update tgbotapi.Update, bot *tgbotapi.BotAPI) { me, _ := bot.GetMe() commit := os.Getenv("COMMIT") if commit == "" { commit = "not available" } info, _ := os.Stat("./bloater.db") dbSizeInKiloBytes := info.Size() / 1000 textInfo := "" + me.FirstName + "" + "\n\n" + "Commit: " + "" + commit + "" + "\n" + "DB Size: " + "" + strconv.FormatInt(dbSizeInKiloBytes, 10) + "KB" + "" message := tgbotapi.MessageConfig{ BaseChat: tgbotapi.BaseChat{ChatID: update.Message.Chat.ID, ReplyToMessageID: update.Message.MessageID}, ParseMode: "html", DisableWebPagePreview: false, Text: textInfo, } botIO.SendMessage(message, bot) }