diff --git a/commands/estimate.js b/commands/estimate.js index ec7e6e9..bb3e8c9 100644 --- a/commands/estimate.js +++ b/commands/estimate.js @@ -2,7 +2,58 @@ const priceTable = [ { regex: /\b(?:thp|summoner|summ)\b/i, returnKeyWord: "summoner piece", - prices: ["1000;10", "1100;15", "1200;30", "1250;100", "1300;1000"], + prices: [ + "1000;10", + "1050;12", + "1100;15", + "1150;25", + "1200;30", + "1250;100", + "1300;500", + ], + }, + { + regex: /\b(?:dps|ab2)\b/i, + returnKeyWord: "dps/ab2 piece", + prices: [ + "1400;20", + "1450;35", + "1500;50", + "1550;75", + "1600;150", + "1650;500", + "1700;1000", + "1750;2000", + "1800;50000", + ], + }, + { + regex: /\b(?:tb|ab1)\b/i, + returnKeyWord: "tb/ab1 piece", + prices: ["980;5", "1050;15", "1100;40", "1150;70", "1200;500"], + }, + { + regex: /\b(?:app builder staff|apprentice build staff|app staff|apprentice staff)\b/i, + returnKeyWord: "apprentice staff", + prices: [ + "2200;5", + "2250;15", + "2300;25", + "2350;35", + "2400;45", + "2450;70", + "2500;100", + "2550;175", + "2600;250", + "2700;400", + "2800;500", + "2900;2000", + ], + }, + { + regex: /\b(?:aura|trange)\b/i, + returnKeyWord: "aura/trange piece", + prices: ["980;5", "1050;15", "1100;40", "1150;70", "1200;500"], }, ]; @@ -40,27 +91,34 @@ exports.description = ":money_with_wings: Give an estimated price of certain items in cv. [WIP]"; exports.usage = "< { + if (!args[0]) { + let tbl = ""; + priceTable.forEach((p) => { + tbl += p.returnKeyWord + "\n"; + }); + return message.channel + .send(`Available items in pricing table:\n\`\`\`\n${tbl}\`\`\`\nFor usage, consult \`< { - if (!isNaN(parseInt(arg))) { + if (!isNaN(parseInt(arg)) && !gameValue) { gameValue = parseInt(arg); } }); - console.log(gameValue); - let returnKeyWord = ""; if (!gameValue) { return message.channel.send( "You didn't include any numbers in your query. Try again or consult `< { if (price.regex.test(combined)) { entryFound = true; returnKeyWord = price.returnKeyWord; - estimatedPrice = findClosestPrice( + let closestInTable = findClosestPrice( constructPriceSubTable(idx), gameValue - ).val; + ); + estimatedPrice = closestInTable.val; + priceDiffFromTable = closestInTable.diff; } }); if (entryFound) { message.channel.send( - `Hmm... I estimate your ${gameValue} ${returnKeyWord} to be worth approximately ${ - estimatedPrice > 500 - ? `**${estimatedPrice}** (probably auction)` - : estimatedPrice - } cv.\n*Take this info with a grain of salt though. Estimation is provided through looking at past trades/price checks/sheets in DDRNG. GLHF.*` + `Hmm... I estimate your **${gameValue} ${returnKeyWord}** to be worth approximately ${ + estimatedPrice > 499 + ? `**__${estimatedPrice}__** (auction it!)` + : `**${estimatedPrice}**` + } cv.\n*Take this info with a grain of salt though. Estimation is provided through looking at past trades/price checks/sheets in DDRNG. GLHF.*\n*Calc diff: ${priceDiffFromTable}*.` ); } else message.channel.send( diff --git a/commands/ping.js b/commands/ping.js index 605d5ec..1528358 100644 --- a/commands/ping.js +++ b/commands/ping.js @@ -6,7 +6,7 @@ function format(seconds) { var minutes = Math.floor((seconds % (60 * 60)) / 60); var seconds = Math.floor(seconds % 60); - return pad(hours) + ":" + pad(minutes) + ":" + pad(seconds); + return pad(hours) + "h " + pad(minutes) + "m " + pad(seconds) + "s."; } exports.name = "ping"; @@ -21,7 +21,7 @@ exports.run = async (client, message, args) => { m.createdTimestamp - message.createdTimestamp }ms**.\nAPI Latency is **${Math.round( client.ws.ping - )}ms**.\n**Client uptime is ${format(process.uptime())}**` + )}ms**.\nClient uptime is **${format(process.uptime())}**` ); }); };