package discord type IGuildService interface { Client() IDiscordClient GetGuild(guildID string) (IGuild, error) } 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) (IGuild, error) { // gs.client return nil, nil }