From 24ca1f84baf710b83f0c990aea164ccffd9f0bc2 Mon Sep 17 00:00:00 2001 From: 8cy <50817549+8cy@users.noreply.github.com> Date: Fri, 17 Apr 2020 10:25:15 -0700 Subject: add memory cmds + output formatting, v7.1.1 --- src/app.ts | 4 ++-- src/bot.ts | 19 ++++++++------- src/commands/crypto/btc.ts | 36 ++++++++++++++++++++++++++++ src/commands/crypto/btcchange.ts | 48 +++++++++++++++++++++++++++++++++++++ src/commands/utility/btc.ts | 36 ---------------------------- src/commands/utility/btcchange.ts | 48 ------------------------------------- src/commands/utility/memorystats.ts | 32 +++++++++++++++++++++++++ src/commands/utility/memoryusage.ts | 25 +++++++++++++++++++ 8 files changed, 153 insertions(+), 95 deletions(-) create mode 100644 src/commands/crypto/btc.ts create mode 100644 src/commands/crypto/btcchange.ts delete mode 100644 src/commands/utility/btc.ts delete mode 100644 src/commands/utility/btcchange.ts create mode 100644 src/commands/utility/memorystats.ts create mode 100644 src/commands/utility/memoryusage.ts (limited to 'src') diff --git a/src/app.ts b/src/app.ts index a11d878..c7ca081 100644 --- a/src/app.ts +++ b/src/app.ts @@ -4,5 +4,5 @@ const manager = new ShardingManager('./dist/bot.js', { token: config['secret'] } //const manager = new ShardingManager('./bot.js', { token: config['secret'] }); manager.spawn(); -console.log('Connecting...'); -manager.on('shardCreate', shard => console.log(`Launched shard: ${shard.id}`)); +console.log('\x1b[0m' + 'Connecting...'); +manager.on('shardCreate', shard => console.log('\x1b[0m' + 'Launched shard: ' + '\x1b[36m' + shard.id)); diff --git a/src/bot.ts b/src/bot.ts index ca489bc..17f1b3f 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -34,7 +34,8 @@ client.registry ['utility', 'Utility Command Group'], ['voice', 'Voice Command Group'], ['nsfw', 'NSFW Command Group'], - ['anime', 'Anime Command Group'] + ['anime', 'Anime Command Group'], + ['crypto', 'Crypto Command Group'] ]) .registerDefaultGroups() .registerDefaultCommands({ @@ -45,7 +46,7 @@ client.registry client.once('ready', () => { //console.log(`Started bot: ${client.user.tag} (ID: ${client.user.id})\nCurrently running on ${client.guilds.cache.size} server(s).`); console.log('Bot online!') - console.log(` _ _ __ _ + console.log('\x1b[31m' + ` _ _ __ _ | | | | / _(_) | | | |_ ___ _| |_ _ ___ _ __ | | | \\ \\ /\\ / / | | | _| |/ _ \\ '__| @@ -53,15 +54,15 @@ client.once('ready', () => { \\___/ \\_/\\_/ \\__,_|_| |_|\\___|_| `) - console.log('discord.js Version: 2.1.1') - console.log('Node.js Version:', process.version) - console.log('OS Version:', process.platform) - console.log('Name:', `${client.user?.tag}`) - console.log('ID:', `${client.user?.id}`) - console.log('Servers:', `${client.guilds.cache.size}`) + console.log('\x1b[0m' + 'discord.js Version: ' + '\x1b[36m' + '2.11') + console.log('\x1b[0m' + 'Node.js Version: ' + '\x1b[36m' + process.version) + console.log('\x1b[0m' + 'OS Version: ' + '\x1b[36m' + process.platform) + console.log('\x1b[0m' + 'Name: ' + '\x1b[36m' + `${client.user?.tag}`) + console.log('\x1b[0m' + 'ID: ' + '\x1b[36m' + `${client.user?.id}`) + console.log('\x1b[0m' + 'Servers: ' + '\x1b[36m' + `${client.guilds.cache.size}` + '\x1b[0m') console.log() - client.user.setActivity('uwu!help | v7.0.1', { + client.user.setActivity('uwu!help | v7.1.1', { type: 'WATCHING' }); }); diff --git a/src/commands/crypto/btc.ts b/src/commands/crypto/btc.ts new file mode 100644 index 0000000..c0c14f3 --- /dev/null +++ b/src/commands/crypto/btc.ts @@ -0,0 +1,36 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; +import emoji from 'emoji-random'; +import btc from 'btc-value'; +btc.setApiKey('a43419ce-fc59-4951-8af9-20c5e36ef73f'); + +module.exports = class BTCUtility extends Command { + constructor(client) { + super(client, { + name: 'btc', + aliases: ['bitcoin', 'crypto'], + group: 'utility', + memberName: 'btc', + description: 'Allows you to check current Bitcoin price.', + args: [ + { + key: 'currencyName', + prompt: 'What currency could you like to see it in? (USD, AUD, CAD, etc.)', + type: 'string' + } + ], + examples: [ + 'uwu!bitcoin aud', + 'uwu!crypto cad', + 'uwu!btc usd' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'] + }); + } + run(msg: CommandoMessage, { currencyName }) { + currencyName = currencyName.toUpperCase(); + btc({ isDecimal: true, currencyCode: currencyName }).then(value => { + msg.reply('The current price of *Bitcoin* in **' + currencyName + '** is **' + value + '**. ' + emoji.random()); + }); + } +}; \ No newline at end of file diff --git a/src/commands/crypto/btcchange.ts b/src/commands/crypto/btcchange.ts new file mode 100644 index 0000000..9ef5d4d --- /dev/null +++ b/src/commands/crypto/btcchange.ts @@ -0,0 +1,48 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; +import btc from 'btc-value'; +import emoji from 'emoji-random'; +btc.setApiKey('a43419ce-fc59-4951-8af9-20c5e36ef73f'); + +module.exports = class BTCChangeUtility extends Command { + constructor(client) { + super(client, { + name: 'btcchange', + aliases: ['bitcoinchange', 'cryptochange', 'btcc'], + group: 'utility', + memberName: 'btcchange', + description: 'Allows you to check the fluctuation in Bitcoin prices within a specified amount of time.', + args: [ + { + key: 'timeAmount', + prompt: 'What time range do you want to check the fluction amount in? (day, hour, week)', + type: 'string' + } + ], + examples: [ + 'uwu!btcchange day', + 'uwu!bitcoinchange hour', + 'uwu!cryptochange week', + 'uwu!btcc day' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'] + }); + } + run(msg: CommandoMessage, { timeAmount }) { + if (timeAmount == 'day') { + btc.getPercentageChangeLastDay().then(percentage => { + msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); + }); + } else if (timeAmount == 'hour') { + btc.getPercentageChangeLastHour().then(percentage => { + msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); + }); + } else if (timeAmount == 'week') { + btc.getPercentageChangeLastWeek().then(percentage => { + msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); + }); + } else { + msg.reply('*' + timeAmount + '* is not a valid range. ' + emoji.random()); + } + } +}; \ No newline at end of file diff --git a/src/commands/utility/btc.ts b/src/commands/utility/btc.ts deleted file mode 100644 index c0c14f3..0000000 --- a/src/commands/utility/btc.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; -import emoji from 'emoji-random'; -import btc from 'btc-value'; -btc.setApiKey('a43419ce-fc59-4951-8af9-20c5e36ef73f'); - -module.exports = class BTCUtility extends Command { - constructor(client) { - super(client, { - name: 'btc', - aliases: ['bitcoin', 'crypto'], - group: 'utility', - memberName: 'btc', - description: 'Allows you to check current Bitcoin price.', - args: [ - { - key: 'currencyName', - prompt: 'What currency could you like to see it in? (USD, AUD, CAD, etc.)', - type: 'string' - } - ], - examples: [ - 'uwu!bitcoin aud', - 'uwu!crypto cad', - 'uwu!btc usd' - ], - userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], - clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'] - }); - } - run(msg: CommandoMessage, { currencyName }) { - currencyName = currencyName.toUpperCase(); - btc({ isDecimal: true, currencyCode: currencyName }).then(value => { - msg.reply('The current price of *Bitcoin* in **' + currencyName + '** is **' + value + '**. ' + emoji.random()); - }); - } -}; \ No newline at end of file diff --git a/src/commands/utility/btcchange.ts b/src/commands/utility/btcchange.ts deleted file mode 100644 index 9ef5d4d..0000000 --- a/src/commands/utility/btcchange.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; -import btc from 'btc-value'; -import emoji from 'emoji-random'; -btc.setApiKey('a43419ce-fc59-4951-8af9-20c5e36ef73f'); - -module.exports = class BTCChangeUtility extends Command { - constructor(client) { - super(client, { - name: 'btcchange', - aliases: ['bitcoinchange', 'cryptochange', 'btcc'], - group: 'utility', - memberName: 'btcchange', - description: 'Allows you to check the fluctuation in Bitcoin prices within a specified amount of time.', - args: [ - { - key: 'timeAmount', - prompt: 'What time range do you want to check the fluction amount in? (day, hour, week)', - type: 'string' - } - ], - examples: [ - 'uwu!btcchange day', - 'uwu!bitcoinchange hour', - 'uwu!cryptochange week', - 'uwu!btcc day' - ], - userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], - clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'] - }); - } - run(msg: CommandoMessage, { timeAmount }) { - if (timeAmount == 'day') { - btc.getPercentageChangeLastDay().then(percentage => { - msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); - }); - } else if (timeAmount == 'hour') { - btc.getPercentageChangeLastHour().then(percentage => { - msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); - }); - } else if (timeAmount == 'week') { - btc.getPercentageChangeLastWeek().then(percentage => { - msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random()); - }); - } else { - msg.reply('*' + timeAmount + '* is not a valid range. ' + emoji.random()); - } - } -}; \ No newline at end of file diff --git a/src/commands/utility/memorystats.ts b/src/commands/utility/memorystats.ts new file mode 100644 index 0000000..43dbd13 --- /dev/null +++ b/src/commands/utility/memorystats.ts @@ -0,0 +1,32 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; + +module.exports = class MemoryStatsUtility extends Command { + constructor(client) { + super(client, { + name: 'memorystats', + aliases: [ + 'memstats', + 'mem-stats', + 'memory-stats', + 'memorystats', + 'memstat', + 'mem-stat', + 'memory-stat', + 'memorystat' + ], + group: 'utility', + memberName: 'memorystats', + description: 'Checks the full, current, approximate memory usage statistics of the bot\'s Node.js process.', + }); + } + run(msg: CommandoMessage) { + const used = process.memoryUsage(); + msg.reply(`The full, current, approximate memory usage statistics are currentaly; +\`\`\`js +rss: ${Math.round(used.rss / 1024 / 1024 * 100) / 100} MBs +heapTotal: ${Math.round(used.heapTotal / 1024 / 1024 * 100) / 100} MBs +heapUsed: ${Math.round(used.heapUsed / 1024 / 1024 * 100) / 100} MBs +external: ${Math.round(used.external / 1024 / 1024 * 100) / 100} MBs +\`\`\``) + } +}; \ No newline at end of file diff --git a/src/commands/utility/memoryusage.ts b/src/commands/utility/memoryusage.ts new file mode 100644 index 0000000..a4f52c0 --- /dev/null +++ b/src/commands/utility/memoryusage.ts @@ -0,0 +1,25 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; +import emoji from 'emoji-random'; + +module.exports = class MemoryUsageUtility extends Command { + constructor(client) { + super(client, { + name: 'memoryusage', + aliases: [ + 'memusage', + 'mem-usage', + 'memory-usage', + 'mem', + 'memory', + 'memoryusage' + ], + group: 'utility', + memberName: 'memoryusage', + description: 'Checks the current, approximate memory usage of the bot\'s Node.js process.', + }); + } + run(msg: CommandoMessage) { + const used = process.memoryUsage().heapUsed / 1024 / 1024; + msg.reply(`The current, approximate memory usage is currently **${Math.round(used * 100) / 100}** MBs. ${emoji.random()}`) + } +}; \ No newline at end of file -- cgit v1.2.3