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

Annotation of /trunk/commands/unlockall.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 39 - (hide annotations)
Mon Jul 29 17:28:19 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: text/javascript
File size: 4040 byte(s)
Updated anti-raid systems
1 rakin 10 const { Permissions } = require("discord.js");
2     const MessageEmbed = require("../src/MessageEmbed");
3    
4     module.exports = {
5     needsOptionParse: true,
6     async handle(msg, cm) {
7 rakin 21 let channels = cm.options.indexOf('--raid') !== -1 ? app.config.get('raid').excluded : app.config.get('lockall');
8 rakin 10
9     if (msg.mentions.channels.first()) {
10     channels = msg.mentions.channels;
11     }
12     else {
13 rakin 21 channels = await msg.guild.channels.cache.filter(c => ((cm.options.indexOf('--raid') !== -1 && channels.indexOf(c.id) === -1 && channels.indexOf(c.parent?.id) === -1 && c.type === 'GUILD_TEXT') || (cm.options.indexOf('--raid') === -1 && channels.indexOf(c.id) !== -1)));
14 rakin 10 }
15    
16     await this.unlockAll(msg, cm, channels);
17     },
18     async unlockAll(msg, cm, channels) {
19 rakin 39 let role = msg.guild.roles.everyone;
20 rakin 10
21     if (role) {
22     channels.forEach(async channel => {
23 rakin 21 try {
24     if (cm.options.indexOf('--no-send') === -1) {
25 rakin 39 await channel.send({
26 rakin 21 embeds: [
27     new MessageEmbed()
28     .setDescription(':closed_lock_with_key: This channel has been unlocked.')
29     ]
30     });
31     }
32 rakin 39
33     app.db.get('SELECT * FROM locks WHERE channel_id = ?', [channel.id], async (err, data) => {
34     if (data || cm.options.indexOf('--force') !== -1) {
35     let perm1;
36     let perm;
37     const data1 = data?.perms?.split(',');
38    
39     if (data1) {
40     if (data1[0] === 'DENY') {
41     await (perm = false);
42     }
43     else if (data1[0] === 'NULL') {
44     await (perm = null);
45     }
46     else if (data1[0] === 'ALLOW') {
47     await (perm = true);
48     }
49    
50     if (data1[1] === 'DENY') {
51     await (perm1 = false);
52     }
53     else if (data1[1] === 'NULL') {
54     await (perm1 = null);
55     }
56     else if (data1[1] === 'ALLOW') {
57     await (perm1 = true);
58     }
59     }
60    
61     if (cm.options.indexOf('--force') !== -1) {
62     await (perm1 = true);
63     await (perm = true);
64     }
65    
66     await console.log(channel.name);
67    
68     try {
69     await channel.permissionOverwrites.edit(role, {
70     SEND_MESSAGES: perm,
71     });
72    
73     const gen = await msg.guild.roles.fetch(app.config.props[msg.guild.id].gen_role);
74    
75     await channel.permissionOverwrites.edit(gen, {
76     SEND_MESSAGES: perm1,
77     });
78     }
79     catch (e) {
80     console.log(e);
81     }
82    
83     await console.log(perm, perm1);
84    
85     if (data) {
86     await app.db.get('DELETE FROM locks WHERE id = ?', [data?.id], async (err) => {});
87     }
88     }
89 rakin 10 });
90     }
91 rakin 21 catch(e) {
92     console.log(e);
93     }
94 rakin 10 });
95     }
96     }
97     };

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26