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

Diff of /trunk/commands/mute.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5 by rakin, Mon Jul 29 17:28:11 2024 UTC revision 49 by rakin, Mon Jul 29 17:28:21 2024 UTC
# Line 1  Line 1 
1  const MessageEmbed = require("../src/MessageEmbed");  const MessageEmbed = require("../src/MessageEmbed");
2  const ms = require('ms');  const ms = require('ms');
3  const { unmute } = require("./unmute");  const { unmute } = require("./unmute");
4    const History = require("../src/History");
5    const { getUser } = require("../src/UserInput");
6    
7  module.exports = {  module.exports = {
8      async handle(msg, cm) {      async handle(msg, cm) {
# Line 15  module.exports = { Line 17  module.exports = {
17    
18              return;              return;
19          }          }
20            try {
21                var user = await getUser(cm.args[0], msg);
22    
23                console.log(user);
24    
25                if (!user) {
26                    throw new Error('Invalid User');
27                }
28            }
29            catch (e) {
30                console.log(e);
31    
32                await msg.reply({
33                    embeds: [
34                        new MessageEmbed()
35                        .setColor('#f14a60')
36                        .setDescription(`Invalid user given.`)
37                    ]
38                });
39    
40          var user = await msg.mentions.members.first();              return;
41            }
42            
43          let reason;          let reason;
44          let tmp = false;          let tmp = false;
45          let timeMs, time2;          let timeMs, time2;
# Line 58  module.exports = { Line 81  module.exports = {
81              await (reason = args.join(' '));              await (reason = args.join(' '));
82          }          }
83    
         if (typeof user !== 'object') {  
             try {  
                 user = await msg.guild.members.fetch(cm.args[0]);  
             }  
             catch(e) {  
   
             }  
         }  
   
         if (typeof user !== 'object') {  
             await msg.reply({  
                 embeds: [  
                     new MessageEmbed()  
                     .setColor('#f14a60')  
                     .setDescription(`Invalid user given.`)  
                 ]  
             });  
   
             return;  
         }  
   
84          if (time) {          if (time) {
85              await app.db.get("INSERT INTO unmutes(user_id, guild_id, time) VALUES(?, ?, ?)", [user.id, msg.guild.id, new Date(time2).toISOString()], async (err) => {              await app.db.get("INSERT INTO unmutes(user_id, guild_id, time) VALUES(?, ?, ?)", [user.id, msg.guild.id, new Date(time2).toISOString()], async (err) => {
86                  if (err)                  if (err)
# Line 96  module.exports = { Line 98  module.exports = {
98                                      let guild = await app.client.guilds.cache.find(g => g.id === data.guild_id);                                      let guild = await app.client.guilds.cache.find(g => g.id === data.guild_id);
99                                      let member = await guild?.members.cache.find(m => m.id === data.user_id);                                      let member = await guild?.members.cache.find(m => m.id === data.user_id);
100                    
101                                      if (member)                                      if (member) {
102                                          await unmute(member, null, guild);                                          await unmute(member, null, guild, true, app.client.user);
103                                            await History.create(member.id, msg.guild, 'unmute', app.client.user.id, async (data2) => {});
104                                        }
105                    
106                                      console.log(data);                                      console.log(data);
107                                  });                                  });
# Line 107  module.exports = { Line 111  module.exports = {
111              });              });
112          }          }
113    
114          this.mute(user, reason, msg);          this.mute(user, reason, msg, true, timeMs !== undefined ? timeMs : undefined);
115      },      },
116      async mute(user, reason, msg) {      async mute(user, reason, msg, log, timeMs) {
117          try {          try {
118              let mutedRole = await msg.guild.roles.cache.find(role => role.id === app.config.get('mute_role'));              let mutedRole = await msg.guild.roles.cache.find(role => role.id === app.config.get('mute_role'));
119              let generalRole = await msg.guild.roles.cache.find(role => role.id === app.config.get('gen_role'));              // let generalRole = await msg.guild.roles.cache.find(role => role.id === app.config.get('gen_role'));
120    
121              if (typeof mutedRole !== 'object' || mutedRole === null) {              if (typeof mutedRole !== 'object' || mutedRole === null) {
122                  await msg.reply({                  await msg.reply({
# Line 126  module.exports = { Line 130  module.exports = {
130                  return;                  return;
131              }              }
132    
133              if (typeof generalRole !== 'object' || generalRole === null) {              // if (typeof generalRole !== 'object' || generalRole === null) {
134                  await msg.reply({              //     await msg.reply({
135                      embeds: [              //         embeds: [
136                          new MessageEmbed()              //             new MessageEmbed()
137                          .setColor('#f14a60')              //             .setColor('#f14a60')
138                          .setDescription(`No general role is set.`)              //             .setDescription(`No general role is set.`)
139                      ]              //         ]
140                  });              //     });
141            
142                  return;              //     return;
143              }              // }
144    
145                if (!log)
146                    await History.create(user.id, msg.guild, 'mute', msg.author.id, typeof reason === 'undefined' || reason.trim() === '' ? null : reason, async (data2) => {});
147    
148              await user.roles.add(mutedRole);              await user.roles.add(mutedRole);
149              await user.roles.remove(generalRole);              // await user.roles.remove(generalRole);
150    
151                if (timeMs !== false)
152                    await app.logger.logMute(user, typeof reason === 'undefined' || reason.trim() === '' ? '*No reason provided*' : reason, timeMs, msg.author);
153          }          }
154          catch(e) {          catch(e) {
155              console.log(e);              console.log(e);

Legend:
Removed from v.5  
changed lines
  Added in v.49

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26