42 lines
906 B
Go
42 lines
906 B
Go
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
|
|
}
|
|
|
|
return fmt.Sprintf("💸 You have %d himbucks! 💸", balance), nil
|
|
}
|
|
|
|
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
|
|
}
|