v4/discord/guildservice.go
2025-03-26 16:36:00 -07:00

42 lines
788 B
Go

package discord
import (
"fmt"
"git.sapphic.engineer/roleypoly/v4/utils"
)
type GuildService struct {
client IDiscordClient
}
func NewGuildService(client IDiscordClient) *GuildService {
return &GuildService{
client: client,
}
}
func (gs *GuildService) Client() IDiscordClient {
return gs.client
}
func (gs *GuildService) GetGuild(guildID string) (*Guild, error) {
req := NewRequest("GET", utils.J("guilds", guildID))
gs.client.BotAuth(req)
resp, err := gs.client.Do(req)
if err != nil {
return nil, fmt.Errorf("GuildService.GetGuild: request failed: %w", err)
}
guild := &Guild{
Client: gs.client,
}
err = OutputResponse(resp, guild)
if err != nil {
return nil, fmt.Errorf("GuildService.GetGuild: response decode failed: %w", err)
}
return guild, nil
}