kleincordBot/services/initServer.go

50 lines
945 B
Go
Raw Permalink Normal View History

2024-05-03 21:25:42 +02:00
package services
import (
"encoding/json"
"github.com/bwmarrin/discordgo"
"os"
)
type Server struct {
Name string `json:"name"`
GuildID string `json:"GuildID"`
Webhooks []*discordgo.Webhook `json:"Webhooks"`
}
2024-05-03 18:07:31 +02:00
var ServerList []Server
2024-05-03 21:25:42 +02:00
func InitServers() {
2024-05-03 18:07:31 +02:00
ServerList = readJson()
}
func AddServer(GuildID string, s *discordgo.Session) Server {
2024-05-03 23:29:06 +02:00
ServerList = readJson()
preview, err := s.GuildPreview(GuildID)
if err != nil {
}
Webhooks, _ := s.GuildWebhooks(GuildID)
server := Server{
Name: preview.Name,
GuildID: GuildID,
Webhooks: Webhooks,
}
var exists bool
2024-05-03 23:29:06 +02:00
for i, oldServer := range ServerList {
if oldServer.GuildID == server.GuildID {
2024-05-03 23:29:06 +02:00
ServerList[i] = server
exists = true
break
}
}
if !exists {
2024-05-03 23:29:06 +02:00
ServerList = append(ServerList, server)
}
2024-05-03 23:29:06 +02:00
rankingsJson, _ := json.Marshal(ServerList)
err = os.WriteFile("servers.json", rankingsJson, 0644)
return server
}