private async Task AnnounceUserMapping(UserMapping userMapping, IUser actor, RestAction action) { using var scope = _serviceProvider.CreateScope(); _logger.LogInformation($"Announcing usermap {userMapping.GuildId}/{userMapping.UserA}-{userMapping.UserB} ({userMapping.Id})."); GuildConfig guildConfig = await GuildConfigRepository.CreateDefault(scope.ServiceProvider).GetGuildConfig(userMapping.GuildId); if (!string.IsNullOrEmpty(guildConfig.ModInternalNotificationWebhook)) { _logger.LogInformation($"Sending internal webhook for usermap {userMapping.GuildId}/{userMapping.UserA}-{userMapping.UserB} ({userMapping.Id}) to {guildConfig.ModInternalNotificationWebhook}."); try { EmbedBuilder embed = await userMapping.CreateUserMapEmbed(action, actor, scope.ServiceProvider); await _discordAPI.ExecuteWebhook(guildConfig.ModInternalNotificationWebhook, embed.Build()); } catch (Exception e) { _logger.LogError(e, $"Error while announcing usermap {userMapping.GuildId}/{userMapping.UserA}-{userMapping.UserB} ({userMapping.Id}) to {guildConfig.ModInternalNotificationWebhook}."); } } }