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

Diff of /trunk/commands/lock.js

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

revision 38 by rakin, Mon Jul 29 17:28:13 2024 UTC revision 39 by rakin, Mon Jul 29 17:28:19 2024 UTC
# Line 10  module.exports = { Line 10  module.exports = {
10              channel = msg.channel;              channel = msg.channel;
11          }          }
12    
13          let role = cm.options.indexOf('--everyone') === -1 ? msg.guild.roles.cache.find(r => r.id === app.config.get('gen_role')) : msg.guild.roles.everyone;          let role = msg.guild.roles.everyone;
14    
15          if (role) {          if (role) {
16              if (!channel) {              if (!channel) {
# Line 22  module.exports = { Line 22  module.exports = {
22              }              }
23    
24              if (channel) {              if (channel) {
25                  if (cm.options.indexOf('--no-send') === -1) {                  try {
26                      channel.send({                      if (cm.options.indexOf('--no-send') === -1) {
27                          embeds: [                          channel.send({
28                              new MessageEmbed()                              embeds: [
29                              .setDescription(':lock: This channel has been locked.')                                  new MessageEmbed()
30                          ]                                  .setDescription(':lock: This channel has been locked.')
31                      });                              ]
32                            });
33                        }
34    
35                        let dbPerms;
36                        let dbPerms1;
37    
38                        let overWrites = await channel.permissionOverwrites.cache.get(role.id);
39                        let allowperms = await overWrites?.allow?.has(Permissions.FLAGS.SEND_MESSAGES);
40                        let denyperms = await overWrites?.deny?.has(Permissions.FLAGS.SEND_MESSAGES);
41    
42                        let role1 = await channel.guild.roles.fetch(app.config.props[channel.guild.id].gen_role);
43    
44                        let overWrites1 = await channel.permissionOverwrites.cache.get(role1.id);
45                        let allowperms1 = await overWrites1?.allow?.has(Permissions.FLAGS.SEND_MESSAGES);
46                        let denyperms1 = await overWrites1?.deny?.has(Permissions.FLAGS.SEND_MESSAGES);
47    
48                        if (allowperms && !denyperms) {
49                            await (dbPerms = 'ALLOW');
50                        }
51                        else if (!allowperms && denyperms) {
52                            await (dbPerms = 'DENY');
53                        }
54                        else if (!allowperms && !denyperms) {
55                            await (dbPerms = 'NULL');
56                        }
57    
58                        if (allowperms1 && !denyperms1) {
59                            await (dbPerms1 = 'ALLOW');
60                        }
61                        else if (!allowperms1 && denyperms1) {
62                            await (dbPerms1 = 'DENY');
63                        }
64                        else if (!allowperms1 && !denyperms1) {
65                            await (dbPerms1 = 'NULL');
66                        }
67                        
68                        await app.db.get('INSERT INTO locks(channel_id, perms, date) VALUES(?, ?, ?)', [channel.id, dbPerms + ',' + dbPerms1, new Date().toISOString()], async (err) => {
69                            if (err)
70                                console.log(err);
71                            
72                            try {
73                                await channel.permissionOverwrites.edit(role, {
74                                    SEND_MESSAGES: false,
75                                });
76                            }
77                            catch (e) {
78                                console.log(e);
79                            }
80    
81                            try {
82                                const gen = await channel.guild.roles.fetch(app.config.props[channel.guild.id].gen_role);
83    
84                                await channel.permissionOverwrites.edit(gen, {
85                                    SEND_MESSAGES: false,
86                                });
87                            }
88                            catch (e) {
89                                console.log(e);
90                            }
91                        })
92                    }
93                    catch (e) {
94                        console.log(e);
95                  }                  }
                   
                 channel.permissionOverwrites.edit(role, {  
                     SEND_MESSAGES: false,  
                 });  
96              }              }
97              else {              else {
98                  console.log('invalid channel');                  console.log('invalid channel');

Legend:
Removed from v.38  
changed lines
  Added in v.39

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26