diff --git a/LightlessSyncServer/LightlessSyncServices/Discord/MareModule.cs b/LightlessSyncServer/LightlessSyncServices/Discord/MareModule.cs index 63ff80d..972341e 100644 --- a/LightlessSyncServer/LightlessSyncServices/Discord/MareModule.cs +++ b/LightlessSyncServer/LightlessSyncServices/Discord/MareModule.cs @@ -51,9 +51,10 @@ public class LightlessModule : InteractionModuleBase { eb = await HandleUserInfo(eb, db, Context.User.Id, secondaryUid, discordUser?.Id ?? null, uid); - if(eb.Fields.Any(f => string.Equals(f.Name, "Profile Description", StringComparison.Ordinal))) + string uidToGet = await GetUserUID(db, secondaryUid, discordUser?.Id ?? null, uid).ConfigureAwait(false); + var profileData = await GetUserProfileData(db, uidToGet).ConfigureAwait(false); + if (profileData != null) { - string uidToGet = await GetUserUID(db, secondaryUid, discordUser?.Id ?? null, uid).ConfigureAwait(false); _logger.LogInformation("Fetching profile image for UID: {uid}", uidToGet); byte[] profileImage = await GetProfileImage(db, uid).ConfigureAwait(false); MemoryStream ms = new(profileImage); @@ -449,16 +450,6 @@ public class LightlessModule : InteractionModuleBase return embed.Build(); } - - private async Task GetProfileImage(LightlessDbContext db, string uid) - { - var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false); - if (profile != null && profile.Base64ProfileImage != null && profile.Base64ProfileImage.Length > 0) - { - return Convert.FromBase64String(profile.Base64ProfileImage); - } - return Array.Empty(); - } private async Task HandleUserInfo(EmbedBuilder eb, LightlessDbContext db, ulong id, string? secondaryUserUid = null, ulong? optionalUser = null, string? uid = null) { @@ -609,4 +600,19 @@ public class LightlessModule : InteractionModuleBase } return dbUser.UID; } + private async Task GetProfileImage(LightlessDbContext db, string uid) + { + var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false); + if (profile != null && profile.Base64ProfileImage != null && profile.Base64ProfileImage.Length > 0) + { + return Convert.FromBase64String(profile.Base64ProfileImage); + } + return Array.Empty(); + } + + private async Task GetUserProfileData(LightlessDbContext db, string uid) + { + var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false); + return profile; + } }