connector: break out guild bridging logic into method
This commit is contained in:
@@ -360,16 +360,26 @@ func (d *DiscordClient) syncGuilds(ctx context.Context) {
|
|||||||
Str("action", "sync guild").
|
Str("action", "sync guild").
|
||||||
Logger()
|
Logger()
|
||||||
|
|
||||||
|
err := d.bridgeGuild(log.WithContext(ctx), guildID)
|
||||||
|
if err != nil {
|
||||||
|
log.Err(err).Msg("Couldn't bridge guild during sync")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DiscordClient) bridgeGuild(ctx context.Context, guildID string) error {
|
||||||
|
log := zerolog.Ctx(ctx)
|
||||||
|
|
||||||
guild, err := d.Session.State.Guild(guildID)
|
guild, err := d.Session.State.Guild(guildID)
|
||||||
if errors.Is(err, discordgo.ErrStateNotFound) || guild == nil {
|
if errors.Is(err, discordgo.ErrStateNotFound) || guild == nil {
|
||||||
log.Err(err).Msg("Couldn't find guild, user isn't a member?")
|
log.Err(err).Msg("Couldn't find guild, user isn't a member?")
|
||||||
continue
|
return errors.New("couldn't find guild in state")
|
||||||
}
|
}
|
||||||
|
|
||||||
err = d.syncGuildSpace(ctx, guild)
|
err = d.syncGuildSpace(ctx, guild)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Err(err).Msg("Couldn't sync guild space portal")
|
log.Err(err).Msg("Couldn't sync guild space portal")
|
||||||
continue
|
return fmt.Errorf("couldn't sync guild space portal: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, guildCh := range guild.Channels {
|
for _, guildCh := range guild.Channels {
|
||||||
@@ -402,10 +412,10 @@ func (d *DiscordClient) syncGuilds(ctx context.Context) {
|
|||||||
Threads: true,
|
Threads: true,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn().Err(err).Msg("Failed to subscribe to guild")
|
log.Warn().Err(err).Msg("Failed to subscribe to guild; proceeding")
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func simpleDownload(ctx context.Context, url, thing string) ([]byte, error) {
|
func simpleDownload(ctx context.Context, url, thing string) ([]byte, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user