Compare commits
5 commits
hotfix/0.8
...
main
Author | SHA1 | Date | |
---|---|---|---|
812e36329c | |||
c4e345cc46 | |||
659906e562 | |||
1796f2519e | |||
211ef74410 |
3 changed files with 51 additions and 40 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "card-drop",
|
||||
"version": "0.8.3",
|
||||
"version": "0.8.4",
|
||||
"main": "./dist/bot.js",
|
||||
"typings": "./dist",
|
||||
"scripts": {
|
||||
|
|
|
@ -60,13 +60,18 @@ export default class Series extends Command {
|
|||
return;
|
||||
}
|
||||
|
||||
const embed = await SeriesHelper.GenerateSeriesViewPage(series.id, 0, interaction.user.id);
|
||||
try {
|
||||
const embed = await SeriesHelper.GenerateSeriesViewPage(series.id, 0, interaction.user.id);
|
||||
|
||||
await interaction.followUp({
|
||||
embeds: [ embed!.embed ],
|
||||
components: [ embed!.row ],
|
||||
files: [ embed!.image ],
|
||||
});
|
||||
await interaction.followUp({
|
||||
embeds: [ embed!.embed ],
|
||||
components: [ embed!.row ],
|
||||
files: [ embed!.image ],
|
||||
});
|
||||
} catch (e) {
|
||||
await interaction.followUp("An error has occured generating the series grid.");
|
||||
AppLogger.CatchError("Series", e);
|
||||
}
|
||||
}
|
||||
|
||||
private async ListSeries(interaction: CommandInteraction) {
|
||||
|
|
|
@ -26,46 +26,52 @@ export default class ImageHelper {
|
|||
const ctx = canvas.getContext("2d");
|
||||
|
||||
for (let i = 0; i < cards.length; i++) {
|
||||
const card = cards[i];
|
||||
try {
|
||||
const card = cards[i];
|
||||
|
||||
const filePath = path.join(process.env.DATA_DIR!, "cards", card.path);
|
||||
const filePath = path.join(process.env.DATA_DIR!, "cards", card.path);
|
||||
|
||||
let bitmap: Bitmap;
|
||||
let bitmap: Bitmap;
|
||||
|
||||
if (existsSync(filePath)) {
|
||||
const data = await Jimp.read(filePath);
|
||||
if (existsSync(filePath)) {
|
||||
const data = await Jimp.read(filePath);
|
||||
|
||||
bitmap = data.bitmap;
|
||||
} else if (card.path.startsWith("http://") || card.path.startsWith("https://")) {
|
||||
const response = await axios.get(card.path, { responseType: "arraybuffer" });
|
||||
const buffer = Buffer.from(response.data);
|
||||
const data = await Jimp.fromBuffer(buffer);
|
||||
bitmap = data.bitmap;
|
||||
} else if (card.path.startsWith("http://") || card.path.startsWith("https://")) {
|
||||
const response = await axios.get(card.path, { responseType: "arraybuffer" });
|
||||
const buffer = Buffer.from(response.data);
|
||||
const data = await Jimp.fromBuffer(buffer);
|
||||
|
||||
bitmap = data.bitmap;
|
||||
} else {
|
||||
AppLogger.LogError("ImageHelper/GenerateCardImageGrid", `Failed to load image from path ${card.path}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
const imageData = Jimp.fromBitmap(bitmap);
|
||||
|
||||
if (userId != null) {
|
||||
const claimed = await Inventory.FetchOneByCardNumberAndUserId(userId, card.id);
|
||||
|
||||
if (!claimed || claimed.Quantity == 0) {
|
||||
imageData.greyscale();
|
||||
bitmap = data.bitmap;
|
||||
} else {
|
||||
AppLogger.LogError("ImageHelper/GenerateCardImageGrid", `Failed to load image from path ${card.path}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
const imageData = Jimp.fromBitmap(bitmap);
|
||||
|
||||
if (userId != null) {
|
||||
const claimed = await Inventory.FetchOneByCardNumberAndUserId(userId, card.id);
|
||||
|
||||
if (!claimed || claimed.Quantity == 0) {
|
||||
imageData.greyscale();
|
||||
}
|
||||
}
|
||||
|
||||
const image = await loadImage(await imageData.getBuffer("image/png"));
|
||||
|
||||
const x = i % gridWidth;
|
||||
const y = Math.floor(i / gridWidth);
|
||||
|
||||
const imageX = imageWidth * x;
|
||||
const imageY = imageHeight * y;
|
||||
|
||||
ctx.drawImage(image, imageX, imageY);
|
||||
}
|
||||
catch (e) {
|
||||
// TODO: Enable once we've investigated a fix
|
||||
//AppLogger.CatchError("ImageHelper", e);
|
||||
}
|
||||
|
||||
const image = await loadImage(await imageData.getBuffer("image/png"));
|
||||
|
||||
const x = i % gridWidth;
|
||||
const y = Math.floor(i / gridWidth);
|
||||
|
||||
const imageX = imageWidth * x;
|
||||
const imageY = imageHeight * y;
|
||||
|
||||
ctx.drawImage(image, imageX, imageY);
|
||||
}
|
||||
|
||||
return canvas.toBuffer();
|
||||
|
|
Loading…
Add table
Reference in a new issue