reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
This commit is contained in:
@@ -51,9 +51,10 @@ public class LightlessModule : InteractionModuleBase
|
|||||||
{
|
{
|
||||||
eb = await HandleUserInfo(eb, db, Context.User.Id, secondaryUid, discordUser?.Id ?? null, uid);
|
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);
|
string uidToGet = await GetUserUID(db, secondaryUid, discordUser?.Id ?? null, uid).ConfigureAwait(false);
|
||||||
|
var profileData = await GetUserProfileData(db, uidToGet).ConfigureAwait(false);
|
||||||
|
if (profileData != null)
|
||||||
|
{
|
||||||
_logger.LogInformation("Fetching profile image for UID: {uid}", uidToGet);
|
_logger.LogInformation("Fetching profile image for UID: {uid}", uidToGet);
|
||||||
byte[] profileImage = await GetProfileImage(db, uid).ConfigureAwait(false);
|
byte[] profileImage = await GetProfileImage(db, uid).ConfigureAwait(false);
|
||||||
MemoryStream ms = new(profileImage);
|
MemoryStream ms = new(profileImage);
|
||||||
@@ -450,16 +451,6 @@ public class LightlessModule : InteractionModuleBase
|
|||||||
return embed.Build();
|
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)
|
private async Task<EmbedBuilder> HandleUserInfo(EmbedBuilder eb, LightlessDbContext db, ulong id, string? secondaryUserUid = null, ulong? optionalUser = null, string? uid = null)
|
||||||
{
|
{
|
||||||
bool showForSecondaryUser = secondaryUserUid != null;
|
bool showForSecondaryUser = secondaryUserUid != null;
|
||||||
@@ -609,4 +600,19 @@ public class LightlessModule : InteractionModuleBase
|
|||||||
}
|
}
|
||||||
return dbUser.UID;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user