include more bot data
This commit is contained in:
@@ -23,26 +23,42 @@ func BotExists(id string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetBots() []discord.SimpleUser {
|
type BotData struct {
|
||||||
|
User discord.User `json:"user"`
|
||||||
|
TokenCount int `json:"token_count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BotDataSimple struct {
|
||||||
|
User discord.SimpleUser `json:"user"`
|
||||||
|
TokenCount int `json:"token_count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetBots() []BotDataSimple {
|
||||||
botIDs, err := client.SMembers(ctx, "bots").Result()
|
botIDs, err := client.SMembers(ctx, "bots").Result()
|
||||||
if err != nil && err != redis.Nil {
|
if err != nil && err != redis.Nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
bots := make([]discord.SimpleUser, 0)
|
bots := make([]BotDataSimple, 0)
|
||||||
for _, id := range botIDs {
|
for _, id := range botIDs {
|
||||||
bots = append(bots, GetBot(id).Simplify())
|
bots = append(bots, BotDataSimple{
|
||||||
|
User: GetBot(id).User.Simplify(),
|
||||||
|
TokenCount: len(TokensUnderBot(id)),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
return bots
|
return bots
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetBot(id string) discord.User {
|
func GetBot(id string) BotData {
|
||||||
var bot discord.User
|
var bot discord.User
|
||||||
key := fmt.Sprintf("bot:%s:data", id)
|
key := fmt.Sprintf("bot:%s:data", id)
|
||||||
err := client.Get(ctx, key).Scan(&bot)
|
err := client.Get(ctx, key).Scan(&bot)
|
||||||
if err != nil && err != redis.Nil {
|
if err != nil && err != redis.Nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return bot
|
return BotData{
|
||||||
|
User: bot,
|
||||||
|
TokenCount: len(TokensUnderBot(id)),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExistsBot(id string) bool {
|
func ExistsBot(id string) bool {
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ func (t TokenBot) WithUser() TokenUserBot {
|
|||||||
return TokenUserBot{
|
return TokenUserBot{
|
||||||
ID: t.ID,
|
ID: t.ID,
|
||||||
End: t.End,
|
End: t.End,
|
||||||
User: GetBot(t.BotID),
|
User: GetBot(t.BotID).User,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,3 +227,24 @@ func BotTokenFromToken(token string) (bool, string) {
|
|||||||
}
|
}
|
||||||
return true, getBotToken(tokenBot.BotID)
|
return true, getBotToken(tokenBot.BotID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TokensUnderBot(botID string) []SimpleTokenUserBot {
|
||||||
|
var tokens []TokenTiny
|
||||||
|
err := client.SMembers(ctx, "tokens").ScanSlice(&tokens)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
simpleTokens := make([]SimpleTokenUserBot, 0)
|
||||||
|
for _, t := range tokens {
|
||||||
|
var token TokenBot
|
||||||
|
err := client.Get(ctx, "token:" + t.ID).Scan(&token)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if token.BotID == botID {
|
||||||
|
simpleTokens = append(simpleTokens, token.WithUser().Simplify())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return simpleTokens
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user