APRK01 commited on
Commit Β·
1745ca3
1
Parent(s): b718533
fix: update co-owner role - add SendMessages, remove ManageRoles, block tickets
Browse files- src/commands/coOwnerRole.js +30 -17
src/commands/coOwnerRole.js
CHANGED
|
@@ -60,7 +60,6 @@ module.exports = {
|
|
| 60 |
// Server management
|
| 61 |
PermissionFlagsBits.ManageGuild, // Server settings, emojis, stickers
|
| 62 |
PermissionFlagsBits.ManageChannels, // Create/edit/delete channels
|
| 63 |
-
PermissionFlagsBits.ManageRoles, // Manage roles below theirs
|
| 64 |
PermissionFlagsBits.ManageEmojisAndStickers, // Custom emojis & stickers
|
| 65 |
PermissionFlagsBits.ManageWebhooks, // Webhooks
|
| 66 |
|
|
@@ -74,8 +73,13 @@ module.exports = {
|
|
| 74 |
PermissionFlagsBits.DeafenMembers, // Deafen in VC
|
| 75 |
PermissionFlagsBits.MoveMembers, // Move between VCs
|
| 76 |
|
| 77 |
-
//
|
| 78 |
-
PermissionFlagsBits.ViewChannel, // See
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
PermissionFlagsBits.ViewAuditLog, // Audit log access
|
| 80 |
PermissionFlagsBits.ReadMessageHistory, // Read history
|
| 81 |
|
|
@@ -83,7 +87,7 @@ module.exports = {
|
|
| 83 |
PermissionFlagsBits.Connect, // Join VCs
|
| 84 |
PermissionFlagsBits.Speak, // Speak in VCs
|
| 85 |
|
| 86 |
-
// NOTE: No
|
| 87 |
],
|
| 88 |
reason: 'Co-Owner role created via coownerrole command'
|
| 89 |
});
|
|
@@ -97,16 +101,24 @@ module.exports = {
|
|
| 97 |
);
|
| 98 |
|
| 99 |
let announcementNote = '';
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
}
|
| 111 |
|
| 112 |
await statusMsg.edit({
|
|
@@ -118,15 +130,16 @@ module.exports = {
|
|
| 118 |
`**Color:** Red (#e74c3c)`,
|
| 119 |
'',
|
| 120 |
'**β
CAN:**',
|
| 121 |
-
'>
|
|
|
|
| 122 |
'> Manage messages, nicknames, events',
|
| 123 |
'> Mute/deafen/move in voice',
|
| 124 |
'> View audit log',
|
| 125 |
-
'> Send messages in announcements',
|
| 126 |
'',
|
| 127 |
'**β CANNOT:**',
|
| 128 |
-
'>
|
| 129 |
'> Ban or kick members',
|
|
|
|
| 130 |
'> Use Administrator',
|
| 131 |
'> Override Owner permissions',
|
| 132 |
'',
|
|
|
|
| 60 |
// Server management
|
| 61 |
PermissionFlagsBits.ManageGuild, // Server settings, emojis, stickers
|
| 62 |
PermissionFlagsBits.ManageChannels, // Create/edit/delete channels
|
|
|
|
| 63 |
PermissionFlagsBits.ManageEmojisAndStickers, // Custom emojis & stickers
|
| 64 |
PermissionFlagsBits.ManageWebhooks, // Webhooks
|
| 65 |
|
|
|
|
| 73 |
PermissionFlagsBits.DeafenMembers, // Deafen in VC
|
| 74 |
PermissionFlagsBits.MoveMembers, // Move between VCs
|
| 75 |
|
| 76 |
+
// Chat & view
|
| 77 |
+
PermissionFlagsBits.ViewChannel, // See channels
|
| 78 |
+
PermissionFlagsBits.SendMessages, // Send messages everywhere
|
| 79 |
+
PermissionFlagsBits.EmbedLinks, // Embed links
|
| 80 |
+
PermissionFlagsBits.AttachFiles, // Attach files
|
| 81 |
+
PermissionFlagsBits.AddReactions, // Add reactions
|
| 82 |
+
PermissionFlagsBits.UseExternalEmojis, // External emojis
|
| 83 |
PermissionFlagsBits.ViewAuditLog, // Audit log access
|
| 84 |
PermissionFlagsBits.ReadMessageHistory, // Read history
|
| 85 |
|
|
|
|
| 87 |
PermissionFlagsBits.Connect, // Join VCs
|
| 88 |
PermissionFlagsBits.Speak, // Speak in VCs
|
| 89 |
|
| 90 |
+
// NOTE: No ManageRoles, no BanMembers, no KickMembers, no Administrator
|
| 91 |
],
|
| 92 |
reason: 'Co-Owner role created via coownerrole command'
|
| 93 |
});
|
|
|
|
| 101 |
);
|
| 102 |
|
| 103 |
let announcementNote = '';
|
| 104 |
+
|
| 105 |
+
// Block Co-Owner from ALL ticket channels/categories
|
| 106 |
+
const ticketChannels = guild.channels.cache.filter(
|
| 107 |
+
c => c.name.toLowerCase().includes('ticket') ||
|
| 108 |
+
c.name.toLowerCase().includes('π«')
|
| 109 |
+
);
|
| 110 |
+
|
| 111 |
+
let ticketCount = 0;
|
| 112 |
+
for (const [, ch] of ticketChannels) {
|
| 113 |
+
await ch.permissionOverwrites.edit(coOwnerRole, {
|
| 114 |
+
ViewChannel: false,
|
| 115 |
+
SendMessages: false,
|
| 116 |
+
}).catch(() => { });
|
| 117 |
+
ticketCount++;
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
+
if (ticketCount > 0) {
|
| 121 |
+
announcementNote += `\nπ **Blocked from ${ticketCount} ticket channel(s)**`;
|
| 122 |
}
|
| 123 |
|
| 124 |
await statusMsg.edit({
|
|
|
|
| 130 |
`**Color:** Red (#e74c3c)`,
|
| 131 |
'',
|
| 132 |
'**β
CAN:**',
|
| 133 |
+
'> Send messages in all channels',
|
| 134 |
+
'> Manage server, channels, emojis',
|
| 135 |
'> Manage messages, nicknames, events',
|
| 136 |
'> Mute/deafen/move in voice',
|
| 137 |
'> View audit log',
|
|
|
|
| 138 |
'',
|
| 139 |
'**β CANNOT:**',
|
| 140 |
+
'> Assign/manage roles',
|
| 141 |
'> Ban or kick members',
|
| 142 |
+
'> Access ticket channels',
|
| 143 |
'> Use Administrator',
|
| 144 |
'> Override Owner permissions',
|
| 145 |
'',
|