Lets try banners

This commit is contained in:
defnotken
2025-11-11 11:16:12 -06:00
parent 3b93ebb9e5
commit ac37020429

View File

@@ -56,18 +56,17 @@ public class LightlessModule : InteractionModuleBase
if (profileData != null) if (profileData != null)
{ {
_logger.LogWarning("Fetching profile image for UID: {uid}", uidToGet); _logger.LogWarning("Fetching profile image for UID: {uid}", uidToGet);
byte[] profileImage = await GetProfileImage(profileData).ConfigureAwait(false); byte[] profileImage = GetProfileImage(profileData);
byte[] bannerImage = GetBannerImage(profileData);
_logger.LogWarning("Image in Bytes: {img}", profileImage); _logger.LogWarning("Image in Bytes: {img}", profileImage);
MemoryStream ms = new(profileImage); using MemoryStream profileImgStream = new(profileImage);
await using (ms.ConfigureAwait(false)) using MemoryStream bannerImgStream = new(bannerImage);
{ eb.WithThumbnailUrl("attachment://profileimage.png");
eb.WithImageUrl("attachment://profileimage.png"); eb.WithImageUrl("attachment://bannerimage.png");
await RespondWithFileAsync( await RespondWithFilesAsync(
fileStream: ms, new[] { new FileAttachment(profileImgStream, "profileimage.png"), new FileAttachment(bannerImgStream, "bannerimage.png") },
fileName: "profileimage.png", embeds: new[] { eb.Build() },
embeds: new[] { eb.Build() }, ephemeral: true).ConfigureAwait(false);
ephemeral: true).ConfigureAwait(false);
}
} }
else else
{ {
@@ -601,7 +600,7 @@ public class LightlessModule : InteractionModuleBase
} }
return dbUser.UID; return dbUser.UID;
} }
private async Task<byte[]> GetProfileImage(UserProfileData profile) private byte[] GetProfileImage(UserProfileData profile)
{ {
_logger.LogWarning("Fetching image: {img}", profile.Base64ProfileImage); _logger.LogWarning("Fetching image: {img}", profile.Base64ProfileImage);
if (profile != null && profile.Base64ProfileImage != null && profile.Base64ProfileImage.Length > 0) if (profile != null && profile.Base64ProfileImage != null && profile.Base64ProfileImage.Length > 0)
@@ -612,6 +611,17 @@ public class LightlessModule : InteractionModuleBase
return Array.Empty<byte>(); return Array.Empty<byte>();
} }
private byte[] GetBannerImage(UserProfileData profile)
{
_logger.LogWarning("Fetching image: {img}", profile.Base64BannerImage);
if (profile != null && profile.Base64BannerImage != null && profile.Base64BannerImage.Length > 0)
{
_logger.LogWarning("Fetching image complete");
return Convert.FromBase64String(profile.Base64BannerImage);
}
return Array.Empty<byte>();
}
private async Task<UserProfileData> GetUserProfileData(LightlessDbContext db, string uid) private async Task<UserProfileData> GetUserProfileData(LightlessDbContext db, string uid)
{ {
var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false); var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false);