discord: Fix Channel not unmarshaling

This commit is contained in:
diamondburned 2021-06-12 01:26:01 -07:00
parent adf029bd7c
commit 6860c6fae8
2 changed files with 26 additions and 4 deletions

View File

@ -24,10 +24,34 @@ func TestIntegration(t *testing.T) {
log.Println("API user:", u.Username)
// POST with URL param and paginator
_, err = client.Guilds(100)
guilds, err := client.Guilds(100)
if err != nil {
t.Fatal("Can't get guilds:", err)
}
for _, guild := range guilds {
if !guild.ID.IsValid() {
t.Errorf("guild %q has invalid ID", guild.Name)
continue
}
channels, err := client.Channels(guild.ID)
if err != nil {
t.Errorf(
"failed to fetch channels for guild %q (%v): %v",
guild.Name, guild.ID, err,
)
}
for _, ch := range channels {
if !ch.ID.IsValid() {
t.Errorf(
"channel %q of guild %q (%v) has invalid ID",
ch.Name, guild.Name, guild.ID,
)
}
}
}
}
var emojisToSend = [...]discord.APIEmoji{

View File

@ -71,9 +71,7 @@ type Channel struct {
func (ch *Channel) UnmarshalJSON(data []byte) error {
type RawChannel Channel
var newCh RawChannel
if err := json.Unmarshal(data, &newCh); err != nil {
if err := json.Unmarshal(data, (*RawChannel)(ch)); err != nil {
return err
}