feat(verification): add IDs from utils

This commit is contained in:
Anthony 2022-08-10 05:34:26 +01:00
parent 31199d9cd5
commit ed5327aae2
4 changed files with 33 additions and 27 deletions

View File

@ -21,7 +21,8 @@ import { container, Listener } from '@sapphire/framework';
import type {
TextChannel, VoiceChannel, CategoryChannel, VoiceState,
} from 'discord.js';
import { maxVCs } from './config';
import { maxVCs } from '../../utils/verificationConfig';
import IDs from '../../utils/ids';
export class VerificationJoinVCListener extends Listener {
public constructor(context: Listener.Context, options: Listener.Options) {
@ -33,8 +34,8 @@ export class VerificationJoinVCListener extends Listener {
public async run(oldState: VoiceState, newState: VoiceState) {
// If the event was not a user joining the channel
if (oldState.channel?.parent?.id === '999431677006860409' // ID for Verification category
|| newState.channel?.parent?.id !== '999431677006860409' // ID for Verification category
if (oldState.channel?.parent?.id === IDs.categories.verification
|| newState.channel?.parent?.id !== IDs.categories.verification
) {
return;
}
@ -43,7 +44,7 @@ export class VerificationJoinVCListener extends Listener {
if (newState.channel.members.size === 2) {
await newState.channel!.permissionOverwrites.set([
{
id: '999431675081666597', // verify-as-vegan
id: IDs.categories.verification,
allow: ['SEND_MESSAGES'],
},
]);
@ -64,7 +65,7 @@ export class VerificationJoinVCListener extends Listener {
const currentChannel = guild.channels.cache.get(newState.channel.id) as VoiceChannel;
// Check if the user has the verifiers role
if (newState.member?.roles.cache.has('999431675123597406')) { // TODO add check if they are trial-verifiers
if (newState.member?.roles.cache.has(IDs.roles.staff.verifier)) { // TODO add check if they are trial-verifiers
await channel.setName('Verifier Meeting');
} else {
await channel.setName(`${newState.member?.displayName} - Verification`);
@ -72,7 +73,7 @@ export class VerificationJoinVCListener extends Listener {
}
// Check how many voice channels there are
const category = guild.channels.cache.get('999431677006860409') as CategoryChannel;
const category = guild.channels.cache.get(IDs.categories.verification) as CategoryChannel;
const listVoiceChannels = category.children.filter((c) => c.type === 'GUILD_VOICE');
// Create a new channel for others to join
@ -81,7 +82,7 @@ export class VerificationJoinVCListener extends Listener {
if (listVoiceChannels.size > maxVCs - 1) {
await guild.channels.create('Verification', {
type: 'GUILD_VOICE',
parent: '999431677006860409', // Verification topic
parent: IDs.categories.verification,
userLimit: 1,
permissionOverwrites: [
{
@ -89,12 +90,12 @@ export class VerificationJoinVCListener extends Listener {
deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
{
id: '999431675081666597', // verify-as-vegan
id: IDs.roles.verifyingAsVegan,
allow: ['VIEW_CHANNEL'],
deny: ['CONNECT'],
},
{
id: '999431675123597406', // Verifiers
id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
],
@ -102,7 +103,7 @@ export class VerificationJoinVCListener extends Listener {
} else {
await guild.channels.create('Verification', {
type: 'GUILD_VOICE',
parent: '999431677006860409', // Verification topic
parent: IDs.categories.verification,
userLimit: 1,
permissionOverwrites: [
{
@ -110,11 +111,11 @@ export class VerificationJoinVCListener extends Listener {
deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
{
id: '999431675081666597', // verify-as-vegan
id: IDs.roles.verifyingAsVegan,
allow: ['VIEW_CHANNEL'],
},
{
id: '999431675123597406', // Verifiers
id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
],
@ -128,7 +129,7 @@ export class VerificationJoinVCListener extends Listener {
deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
{
id: '999431675081666597', // verify-as-vegan
id: IDs.roles.verifyingAsVegan,
deny: ['VIEW_CHANNEL'],
},
{
@ -139,7 +140,7 @@ export class VerificationJoinVCListener extends Listener {
await currentChannel.setUserLimit(0);
// Send a message that someone wants to be verified
const verifyChannel = client.channels.cache.get('999431677006860411') as TextChannel; // Verifiers channel
verifyChannel.send(`${newState.member?.user} wants to be verified in ${newState.channel}`);
const verifyChannel = client.channels.cache.get(IDs.channels.staff.verifiers) as TextChannel;
await verifyChannel.send(`${newState.member?.user} wants to be verified in ${newState.channel}`);
}
}

View File

@ -19,7 +19,8 @@
import { container, Listener } from '@sapphire/framework';
import type { VoiceState, CategoryChannel, VoiceChannel } from 'discord.js';
import { maxVCs } from './config';
import { maxVCs } from '../../utils/verificationConfig';
import IDs from '../../utils/ids';
export class VerificationLeaveVCListener extends Listener {
public constructor(context: Listener.Context, options: Listener.Options) {
@ -31,8 +32,8 @@ export class VerificationLeaveVCListener extends Listener {
public async run(oldState: VoiceState, newState: VoiceState) {
// If the event was not a user joining the channel
if (oldState.channel?.parent?.id !== '999431677006860409' // ID for Verification category
|| newState.channel?.parent?.id === '999431677006860409' // ID for Verification category
if (oldState.channel?.parent?.id !== IDs.categories.verification
|| newState.channel?.parent?.id === IDs.categories.verification
|| oldState.channel.members.size > 0
) {
return;
@ -44,13 +45,13 @@ export class VerificationLeaveVCListener extends Listener {
const user = guild.members.cache.get(oldState.member!.id)!;
// Remove verify as vegan and give non vegan role
if (!user.roles.cache.has('999431675098447937')) { // If the user does not have vegan role
await user.roles.remove('999431675081666597'); // Verify-as-vegan
await user.roles.add('999431675081666598'); // Not vegan
if (!user.roles.cache.has(IDs.roles.vegan.vegan)) {
await user.roles.remove(IDs.roles.verifyingAsVegan);
await user.roles.add(IDs.roles.nonvegan.nonvegan);
}
// Check how many voice channels there are
const category = guild.channels.cache.get('999431677006860409') as CategoryChannel;
const category = guild.channels.cache.get(IDs.categories.verification) as CategoryChannel;
const listVoiceChannels = category.children.filter((c) => c.type === 'GUILD_VOICE');
// Check that it is not deleting the 'Verification' channel (in case bot crashes)
@ -64,7 +65,7 @@ export class VerificationLeaveVCListener extends Listener {
// Create a verification channel
await guild.channels.create('Verification', {
type: 'GUILD_VOICE',
parent: '999431677006860409', // Verification topic
parent: IDs.categories.verification,
userLimit: 1,
permissionOverwrites: [
{
@ -72,11 +73,11 @@ export class VerificationLeaveVCListener extends Listener {
deny: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
{
id: '999431675081666597', // verify-as-vegan
id: IDs.roles.verifyingAsVegan,
allow: ['VIEW_CHANNEL'],
},
{
id: '999431675123597406', // Verifiers
id: IDs.roles.staff.verifier,
allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
},
],
@ -92,7 +93,7 @@ export class VerificationLeaveVCListener extends Listener {
await verification!.permissionOverwrites.set([
{
id: '999431675081666597', // verify-as-vegan
id: IDs.roles.verifyingAsVegan,
allow: ['VIEW_CHANNEL'],
},
]);

View File

@ -55,6 +55,7 @@ export const devIDs = {
staff: {
coordinators: '999431676058927254',
standup: '999431676289622183',
verifiers: '999431677006860411',
},
diversity: {
women: '999431679053660187',
@ -64,6 +65,7 @@ export const devIDs = {
},
},
categories: {
verification: '999431677006860409',
diversity: '999431679053660185',
},
};

View File

@ -58,6 +58,7 @@ let IDs = {
staff: {
coordinators: '989249700353953843',
standup: '996009201237233684',
verifiers: '873215538627756072',
},
diversity: {
women: '938808963544285324',
@ -67,6 +68,7 @@ let IDs = {
},
},
categories: {
verification: '797505409073676299',
diversity: '933078380394459146',
},
};
@ -78,4 +80,4 @@ if (process.env.DEVELOPMENT === 'true') {
IDs = devIDs;
}
export default { IDs };
export default IDs;