const { Command } = require('discord.js-commando'); const emoji = require('discord.js'); module.exports = class BotStatusUtility extends Command { constructor(client) { super(client, { name: 'botstatus', aliases: ['status', 'bs'], group: 'utility', memberName: 'botstatus', description: 'lets you change the bots status', args: [ { key: 'userChangeType', prompt: 'would you like to change the status message or type?', type: 'string' }, { key: 'userActivityName', prompt: 'what would u like the message 2 be?', type: 'string' }, { key: 'userActivityType', prompt: 'what would u like the status type to be?', type: 'string' } ], guildOnly: true, examples: [ 's5n!botstatus type watching', 's5n!status t w', 's5n!status message youtube', 's5n!bs m lol' ] }); } run(msg, { userActivityName, userActivityType }) { if (msg.member.hasPermission('KICK_MEMBERS')) { var activityType = this.client.user.presence.activities[0].type; var activityName = this.client.user.presence.activities[0].name; function activityTypeToWords() { if (activityName == '0') { var activityName = 'PLAYING'; } else if (activityName == '1') { var activityName = 'STREAMING'; } else if (activityName == '2') { var activityName = 'LISTENING'; } else if (activityName == '3') { var activityName = 'WATCHING'; } } if (userChangeType == 'reset' || userChangeType == 'r') { this.client.user.setActivity('psycho ~uwu', { type: 'LISTENING' }); msg.reply('status has been reset lol ' + emoji.random()); } else if (userChangeType == 'format' || userChangeType == 'f') { // Print full, proper format for the Discord.js setActivity() function msg.reply('\n`' + this.client.user.setActivity.toString() + '`'); } else if (userChangeType == 'message' || userChangeType == 'msg' || userChangeType == 'm') { // This took way to long to complete lol, 2020/04/08, 00:12, my birthday lol if (userChangeType == 'message') { var m = userChangeType.join(' '); var mf = m.slice(8, 22); } else if (userChangeType == 'msg') { var m = userChangeType.join(' '); var mf = m.slice(4, 22); } else if (userChangeType == 'm') { var m = userChangeType.join(' '); var mf = m.slice(2, 22); } if (mf == 'reset' || mf == 'r') { this.client.user.setActivity('psycho ~uwu', { type: activityType }); msg.reply('status message has been reset lol'); } else { this.client.user.setActivity(mf, { type: activityType }); } } else if (userChangeType == 'userChangeType' || args == 't') { var m = userChangeType; userChangeType.toLowerCase(); if (userChangeType == 'playing' || userChangeType == 'p') { var m = 'playing'; this.client.user.setActivity(activityName, { type: 'playing' }); } else if (userChangeType == 'listening' || userChangeType == 'l') { var m = 'LISTENING'; this.client.user.setActivity(activityName, { type: m }); } else if (userChangeType == 'watching' || userChangeType == 'w') { var m = 'WATCHING'; this.client.user.setActivity(activityName, { type: m }); } else if (userChangeType == 'custom' || userChangeType == 'c') { msg.reply('custom status is disabled due to discord api policies about self-botting :('); } else if (userChangeType == 'reset' || userChangeType == 'r') { this.client.user.setActivity(activityName, { type: 'LISTENING' }); msg.reply('status type has been reset lol'); } } else if (!args) { msg.reply('no arguments specified'); } } else { msg.reply('insufficent perms bruh'); } } };