fix(arabot): fix permission issues for vcs

This commit is contained in:
smyalygames 2022-10-21 03:25:29 +01:00
parent 49f18bd10c
commit 4331f1a644
2 changed files with 40 additions and 26 deletions

View File

@ -85,19 +85,12 @@ class VerificationJoinVCListener extends Listener {
const roles = rolesToString(member.roles.cache.map((r) => r.id)); const roles = rolesToString(member.roles.cache.map((r) => r.id));
// Checks if a verifier has joined
if (channel.members.size === 2) {
await newState.channel!.permissionOverwrites.set([
{
id: guild.roles.everyone,
allow: ['SEND_MESSAGES'],
},
]);
return;
}
// Check if a verifier joined a verification VC and update database // Check if a verifier joined a verification VC and update database
if (channel.members.size === 2) { if (channel.members.size === 2) {
await channel.permissionOverwrites.edit(guild.roles.everyone, {
SEND_MESSAGES: true,
});
if (!channel.name.includes(' - Verification')) { if (!channel.name.includes(' - Verification')) {
return; return;
} }
@ -165,6 +158,10 @@ class VerificationJoinVCListener extends Listener {
id: IDs.roles.staff.verifier, id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'], allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{
id: IDs.roles.staff.trialVerifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
], ],
}); });
@ -215,6 +212,10 @@ class VerificationJoinVCListener extends Listener {
id: IDs.roles.staff.verifier, id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'], allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{
id: IDs.roles.staff.trialVerifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
], ],
}); });
} else { } else {
@ -247,6 +248,10 @@ class VerificationJoinVCListener extends Listener {
id: IDs.roles.staff.verifier, id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'], allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{
id: IDs.roles.staff.trialVerifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
], ],
}); });
} }
@ -258,12 +263,16 @@ class VerificationJoinVCListener extends Listener {
deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'], deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{ {
id: IDs.roles.nonvegan.nonvegan, id: IDs.roles.verifyBlock,
deny: ['VIEW_CHANNEL'], deny: ['VIEW_CHANNEL', 'CONNECT', 'SEND_MESSAGES'],
}, },
{ {
id: IDs.roles.vegan.vegan, id: IDs.roles.staff.verifier,
deny: ['VIEW_CHANNEL'], allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
{
id: IDs.roles.staff.trialVerifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{ {
id: member.id, id: member.id,

View File

@ -156,6 +156,10 @@ class VerificationLeaveVCListener extends Listener {
id: IDs.roles.staff.verifier, id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'], allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
}, },
{
id: IDs.roles.staff.trialVerifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
], ],
}); });
} }
@ -165,18 +169,19 @@ class VerificationLeaveVCListener extends Listener {
return; return;
} }
const verification = listVoiceChannels.last() as VoiceChannel; const verification = listVoiceChannels.last() as VoiceChannel | undefined;
await verification!.permissionOverwrites.set([ if (verification === undefined) {
{ console.error('Verification: Verification channel not found.');
id: IDs.roles.nonvegan.nonvegan, return;
allow: ['VIEW_CHANNEL'], }
},
{ await verification.permissionOverwrites.edit(IDs.roles.nonvegan.nonvegan, {
id: IDs.roles.vegan.vegan, VIEW_CHANNEL: true,
allow: ['VIEW_CHANNEL'], });
}, await verification.permissionOverwrites.edit(IDs.roles.vegan.vegan, {
]); VIEW_CHANNEL: true,
});
} }
} }