2024-11-05 00:19:36 -06:00
|
|
|
package command
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"himbot/lib"
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
"github.com/bwmarrin/discordgo"
|
|
|
|
)
|
|
|
|
|
|
|
|
func BalanceCommand(s *discordgo.Session, i *discordgo.InteractionCreate) (string, error) {
|
|
|
|
user, err := lib.GetUser(i)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
balance, err := lib.GetBalance(user.ID, i.GuildID)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
2024-11-05 11:05:11 -06:00
|
|
|
return fmt.Sprintf("💸 You have %d himbucks! 💸", balance), nil
|
2024-11-05 00:19:36 -06:00
|
|
|
}
|
|
|
|
|
2024-11-05 13:03:06 -06:00
|
|
|
func BalanceSyncCommand(s *discordgo.Session, i *discordgo.InteractionCreate) (string, error) {
|
|
|
|
syncError := lib.SyncBalance()
|
|
|
|
if syncError != nil {
|
|
|
|
return "", syncError
|
|
|
|
}
|
|
|
|
|
|
|
|
return fmt.Sprintf("💸 Force-Synchronized Himbucks! 💸"), nil
|
|
|
|
}
|
|
|
|
|
2024-11-05 00:19:36 -06:00
|
|
|
func LeaderboardCommand(s *discordgo.Session, i *discordgo.InteractionCreate) (string, error) {
|
|
|
|
entries, err := lib.GetLeaderboard(i.GuildID, 10)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
if len(entries) == 0 {
|
|
|
|
return "No himbucks earned yet!", nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var sb strings.Builder
|
|
|
|
sb.WriteString("🏆 Himbucks Leaderboard 🏆\n\n")
|
|
|
|
for idx, entry := range entries {
|
|
|
|
sb.WriteString(fmt.Sprintf("%d. %s: %d himbucks\n", idx+1, entry.Username, entry.Balance))
|
|
|
|
}
|
|
|
|
|
|
|
|
return sb.String(), nil
|
|
|
|
}
|