diff --git a/commands/submit.js b/commands/submit.js index a2d6468..f8a6351 100644 --- a/commands/submit.js +++ b/commands/submit.js @@ -53,7 +53,7 @@ async function execute(interaction) { try { // Check that the bot owns this model if (!(await noblox.getOwnership(await noblox.getCurrentUser("UserID"), id, "Asset"))) { - const msg = `🚫 The ${game} maptest bot's inventory does not contain this asset (\`${id}\`). You must use the /take command first.`; + const msg = `🚫 The ${game} maptest bot's inventory does not contain this asset (id: \`${id}\`). You must use the /take command first.`; await interaction.editReply(msg); return; } @@ -61,13 +61,13 @@ async function execute(interaction) { if (error.message !== "400 The specified Asset does not exist!") { throw error; } - await interaction.editReply(`🚫 This asset does not exist (\`${id}\`).`); + await interaction.editReply(`🚫 This asset does not exist (id: \`${id}\`).`); return; } const assetInfo = await getAssetInfo(id); if (!assetInfo.isModel) { - await interaction.editReply(`🚫 This asset (\`${id}\`) is not a model. Your map must be a model.`); + await interaction.editReply(`🚫 This asset (id: \`${id}\`) is not a model. Your map must be a model.`); return; } @@ -87,7 +87,7 @@ async function execute(interaction) { for (let lineStr of lines) { const line = getSubmissionLine(lineStr); if (id === line.modelId) { - await interaction.editReply(`🚫 This map (id: ${id}) was already submitted on .`); + await interaction.editReply(`🚫 This map (id: \`${id}\`) was already submitted on .`); return; } } @@ -112,7 +112,7 @@ async function execute(interaction) { csvString += createSubmissionLine(id, unixTimestamp, userId, await robloxUsernameFromId(userId), validation.displayName, validation.creator); fs.writeFileSync(fname, csvString); - await interaction.followUp(`Map (id: ${id}) successfully submitted.`); + await interaction.followUp(`Map (id: \`${id}\`) successfully submitted.`); } module.exports = { diff --git a/commands/take.js b/commands/take.js index 2270eb9..389bd4e 100644 --- a/commands/take.js +++ b/commands/take.js @@ -31,17 +31,20 @@ async function execute(interaction) { // Validate that this is a model const assetInfo = await getAssetInfo(id); - if (assetInfo.status !== 403 && (assetInfo.status < 200 || assetInfo.status >= 300)) { - await interaction.editReply(`🚫 This asset may not exist or is not a model (id: \`${id}\`). Your map must be a model.`); + if (assetInfo.status === 404) { + await interaction.editReply(`🚫 This [model]() (id: \`${id}\`) is off sale. Please configure it to be on sale (Configure -> Distribute on Creator Store). Alternatively, the provided ID may not actually be a model.`); return; } - // 403 (Forbidden) means the asset isn't distributed - if (assetInfo.status === 403 || (assetInfo.forSale === false)) { + if (assetInfo.status < 200 || assetInfo.status >= 300) { + await interaction.editReply(`🚫 Something unexpected went wrong trying to retrive info about the model (id: \`${id}\`).`); + return; + } + if (assetInfo.forSale === false) { await interaction.editReply(`🚫 This [model]() (id: \`${id}\`) is off sale. Please configure it to be on sale (Configure -> Distribute on Creator Store).`); return; } if (!assetInfo.isModel) { - await interaction.editReply(`🚫 This asset (id: \`${id}\` is not a model. Your map must be a model.`); + await interaction.editReply(`🚫 This asset (id: \`${id}\`) is not a model. Your map must be a model.`); return; } if (!assetInfo.isFree) { diff --git a/common.js b/common.js index 3aba732..856e0c4 100644 --- a/common.js +++ b/common.js @@ -41,7 +41,7 @@ async function getAssetInfo(assetId) { if (res.statusCode < 200 || res.statusCode >= 300) { return { - status: res.status, + status: res.statusCode, isModel: false }; }