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

Diff of /trunk/commands/lockall.js

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

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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26