reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

This commit is contained in:
defnotken
2025-11-11 10:50:54 -06:00
parent a63742df83
commit f4ac99ba05

View File

@@ -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<byte[]> 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<byte>();
}
private async Task<EmbedBuilder> 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<byte[]> 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<byte>();
}
private async Task<UserProfileData> GetUserProfileData(LightlessDbContext db, string uid)
{
var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false);
return profile;
}
}