diff --git a/src/amiami/amiami-api.js b/src/amiami/amiami-api.js index b55006a..c931fa9 100644 --- a/src/amiami/amiami-api.js +++ b/src/amiami/amiami-api.js @@ -90,6 +90,19 @@ class Item { return Boolean(this.#item.stock); } + /** + * Whether an item is unavailable in any regions. + * + * This currently only works for items requested in English. + */ + regionLocked() { + // This should work for all current known cases: + // - "This product cannot be shipped to the following area: [...]" + // - "This product cannot be shipped to the following areas: [...]" + // - "This product cannot be shipped to some areas." + return this.remarks.includes("This product cannot be shipped to"); + } + /** * @returns {number} the total discount rate. */ diff --git a/src/amiami/index.js b/src/amiami/index.js index 8bed75c..28ce9e7 100644 --- a/src/amiami/index.js +++ b/src/amiami/index.js @@ -54,7 +54,7 @@ class AmiAmiApiPreview { .setDescription(` **Price**: ¥${Math.trunc(priceJpy)} / $${priceUsd.toFixed(2)} ${discountRate > 0 ? `(${discountRate}% off)` : ""} **Status**: ${item.saleStatus} ${!item.orderable() ? "(Out of stock)" : ""} - ${item.remarks ? "⚠️ This item may not be available in all regions." : ""} + ${item.regionLocked() ? "⚠️ This item may not be available in all regions." : ""} `.trim()) .setTitle(item.name) .setImage(item.image)