summaryrefslogtreecommitdiff
path: root/src/commands/utility/botstatus.js
blob: 65825bb385931850c04af7689c7e616a30567a12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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');
        }
    }
};