/[sudobot]/trunk/commands/unmute.js
ViewVC logotype

Annotation of /trunk/commands/unmute.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 37 - (hide annotations)
Mon Jul 29 17:28:18 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: text/javascript
File size: 3510 byte(s)
Fixed issues and improved logging
1 rakin 25 const History = require("../src/History");
2 rakin 5 const MessageEmbed = require("../src/MessageEmbed");
3    
4     module.exports = {
5     async handle(msg, cm) {
6     if (typeof cm.args[0] === 'undefined') {
7     await msg.reply({
8     embeds: [
9     new MessageEmbed()
10     .setColor('#f14a60')
11     .setDescription(`This command requires at least one argument.`)
12     ]
13     });
14    
15     return;
16     }
17    
18     var user = await msg.mentions.members.first();
19    
20     if (typeof user !== 'object') {
21     try {
22     user = await msg.guild.members.fetch(cm.args[0]);
23     }
24     catch(e) {
25    
26     }
27     }
28    
29     if (typeof user !== 'object') {
30     await msg.reply({
31     embeds: [
32     new MessageEmbed()
33     .setColor('#f14a60')
34     .setDescription(`Invalid user given.`)
35     ]
36     });
37    
38     return;
39     }
40    
41     this.unmute(user, msg);
42     },
43 rakin 25 async unmute(user, msg, guild, log, t) {
44 rakin 5 if (guild === undefined) {
45     guild = msg.guild;
46     }
47    
48     try {
49     let mutedRole = await guild.roles.cache.find(role => role.id === app.config.get('mute_role'));
50 rakin 37 // let generalRole = await guild.roles.cache.find(role => role.id === app.config.get('gen_role'));
51 rakin 5
52     if (typeof mutedRole !== 'object' || mutedRole === null) {
53     await msg?.reply({
54     embeds: [
55     new MessageEmbed()
56     .setColor('#f14a60')
57     .setDescription(`No muted role is set.`)
58     ]
59     });
60    
61     return;
62     }
63    
64 rakin 37 // if (typeof generalRole !== 'object' || generalRole === null) {
65     // await msg?.reply({
66     // embeds: [
67     // new MessageEmbed()
68     // .setColor('#f14a60')
69     // .setDescription(`No general role is set.`)
70     // ]
71     // });
72 rakin 5
73 rakin 37 // return;
74     // }
75 rakin 5
76 rakin 25 if (!log)
77 rakin 37 await History.create(user.id, guild, 'unmute', msg.author.id, null, async (data2) => {});
78 rakin 25
79 rakin 37 // await user.roles.add(generalRole);
80 rakin 5 await user.roles.remove(mutedRole);
81 rakin 25
82     await app.logger.logUnmute(user, t === undefined ? msg.author : t);
83    
84 rakin 5 }
85     catch(e) {
86     console.log(e);
87    
88     await msg?.reply({
89     embeds: [
90     new MessageEmbed()
91     .setColor('#f14a60')
92     .setDescription(`:x: I don't have enough permission to remove the muted role to this user.`)
93     ]
94     });
95    
96     return;
97     }
98    
99     await app.db.get("DELETE FROM unmutes WHERE user_id = ? AND guild_id = ?", [user.id, guild.id], async (err) => {
100    
101     });
102    
103     await user.send({
104     embeds: [
105     new MessageEmbed()
106     .setAuthor({
107     iconURL: guild.iconURL(),
108     name: `\tYou have been unmuted in ${guild.name}`
109     })
110     ]
111     });
112    
113     await msg?.reply({
114     embeds: [
115     new MessageEmbed()
116     .setDescription(`The user ${user.user.tag} has been unmuted`)
117     ]
118     });
119     }
120     };

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26