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)
{
_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);
MemoryStream ms = new(profileImage);
await using (ms.ConfigureAwait(false))
{
eb.WithImageUrl("attachment://profileimage.png");
await RespondWithFileAsync(
fileStream: ms,
fileName: "profileimage.png",
embeds: new[] { eb.Build() },
ephemeral: true).ConfigureAwait(false);
}
using MemoryStream profileImgStream = new(profileImage);
using MemoryStream bannerImgStream = new(bannerImage);
eb.WithThumbnailUrl("attachment://profileimage.png");
eb.WithImageUrl("attachment://bannerimage.png");
await RespondWithFilesAsync(
new[] { new FileAttachment(profileImgStream, "profileimage.png"), new FileAttachment(bannerImgStream, "bannerimage.png") },
embeds: new[] { eb.Build() },
ephemeral: true).ConfigureAwait(false);
}
else
{
@@ -601,7 +600,7 @@ public class LightlessModule : InteractionModuleBase
}
return dbUser.UID;
}
private async Task<byte[]> GetProfileImage(UserProfileData profile)
private byte[] GetProfileImage(UserProfileData profile)
{
_logger.LogWarning("Fetching image: {img}", profile.Base64ProfileImage);
if (profile != null && profile.Base64ProfileImage != null && profile.Base64ProfileImage.Length > 0)
@@ -612,6 +611,17 @@ public class LightlessModule : InteractionModuleBase
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)
{
var profile = await db.UserProfileData.Where(u => u.UserUID == uid).SingleOrDefaultAsync().ConfigureAwait(false);