1
0
Fork 0
mirror of https://github.com/diamondburned/cchat-discord.git synced 2025-11-22 12:43:44 +00:00

Fixed guilds not loading because deleted; minor bug fixes

This commit is contained in:
diamondburned 2020-07-10 23:53:56 -07:00
parent 15143bfc09
commit d37d24c8e3
3 changed files with 13 additions and 7 deletions

View file

@ -69,7 +69,7 @@ func (gf *GuildFolder) Servers(container cchat.ServersContainer) error {
for i, id := range gf.GuildIDs { for i, id := range gf.GuildIDs {
g, err := gf.session.Guild(id) g, err := gf.session.Guild(id)
if err != nil { if err != nil {
return errors.Wrap(err, "Failed to get guild ID "+id.String()) continue
} }
servers[i] = NewGuild(gf.session, g) servers[i] = NewGuild(gf.session, g)

View file

@ -70,7 +70,8 @@ func (r *TextRenderer) renderEmbed(embed discord.Embed, m *discord.Message, s st
// If we have a thumbnail, then write one. // If we have a thumbnail, then write one.
if embed.Thumbnail != nil { if embed.Thumbnail != nil {
r.append(EmbedThumbnail(r.buf.Len(), *embed.Thumbnail)) r.append(EmbedThumbnail(r.buf.Len(), *embed.Thumbnail))
r.ensureBreak() // Guarantee 2 lines because thumbnail needs its own.
r.startBlockN(2)
} }
if embed.Description != "" { if embed.Description != "" {
@ -120,7 +121,9 @@ func (r *TextRenderer) renderEmbed(embed discord.Embed, m *discord.Message, s st
// Write an image if there's one. // Write an image if there's one.
if embed.Image != nil { if embed.Image != nil {
r.append(EmbedImage(r.buf.Len(), *embed.Image)) r.append(EmbedImage(r.buf.Len(), *embed.Image))
r.ensureBreak() // Images take up its own empty line, so we should guarantee 2 empty
// lines.
r.startBlockN(2)
} }
} }

View file

@ -133,8 +133,11 @@ func (s *Session) Icon(ctx context.Context, iconer cchat.IconContainer) (func(),
// Thanks to arikawa, AvatarURL is never empty. // Thanks to arikawa, AvatarURL is never empty.
iconer.SetIcon(AvatarURL(u.AvatarURL())) iconer.SetIcon(AvatarURL(u.AvatarURL()))
return s.AddHandler(func(u *gateway.UserUpdateEvent) { return s.AddHandler(func(*gateway.UserUpdateEvent) {
iconer.SetIcon(AvatarURL(u.AvatarURL())) // Bypass the event and use the state cache.
if u, err := s.Store.Me(); err == nil {
iconer.SetIcon(AvatarURL(u.AvatarURL()))
}
}), nil }), nil
} }
@ -166,7 +169,7 @@ func (s *Session) Servers(container cchat.ServersContainer) error {
case len(folder.GuildIDs) == 1: case len(folder.GuildIDs) == 1:
g, err := NewGuildFromID(s, folder.GuildIDs[0]) g, err := NewGuildFromID(s, folder.GuildIDs[0])
if err != nil { if err != nil {
return errors.Wrap(err, "Failed to get guild in folder") continue
} }
toplevels = append(toplevels, g) toplevels = append(toplevels, g)
} }
@ -182,7 +185,7 @@ func (s *Session) Servers(container cchat.ServersContainer) error {
for _, id := range s.Ready.Settings.GuildPositions { for _, id := range s.Ready.Settings.GuildPositions {
g, err := NewGuildFromID(s, id) g, err := NewGuildFromID(s, id)
if err != nil { if err != nil {
return errors.Wrap(err, "Failed to get guild in position") continue
} }
guilds = append(guilds, g) guilds = append(guilds, g)
} }