2024-05-03 17:39:11 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
func initServers() {
|
|
|
|
|
ServerList = readJson()
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-03 17:39:11 +02:00
|
|
|
func AddServer(GuildID string, s *discordgo.Session) Server {
|
|
|
|
|
servers := 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
|
|
|
|
|
|
|
|
|
|
for i, oldServer := range servers {
|
|
|
|
|
if oldServer.GuildID == server.GuildID {
|
|
|
|
|
servers[i] = server
|
|
|
|
|
exists = true
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if !exists {
|
|
|
|
|
servers = append(servers, server)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rankingsJson, _ := json.Marshal(servers)
|
|
|
|
|
err = os.WriteFile("servers.json", rankingsJson, 0644)
|
|
|
|
|
return server
|
|
|
|
|
}
|