detect users joining/leaving voice channels

This commit is contained in:
Baipyrus 2024-01-28 18:33:22 +01:00
parent 0edf46856a
commit 7fe865ad98
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,16 @@
import { Events } from 'discord.js';
export const name = Events.VoiceStateUpdate;
export async function execute(oldState, newState) {
console.debug('[DEBUG] Voice State Update');
const change = (!!oldState.channel) ^ (!!newState.channel);
if (!change) return;
const guild = newState.guild.name;
const member = newState.member.user.username;
const state = newState.channel ? 'joined' : 'left';
const channel = (oldState.channel ?? newState.channel).name;
console.debug(`[DEBUG] User '${member}' ${state} channel '${channel}' in guild '${guild}'.`);
}

View File

@ -18,6 +18,7 @@ const runClient = (commands, events) => {
intents: [ intents: [
GatewayIntentBits.Guilds, GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessages,
GatewayIntentBits.GuildVoiceStates,
GatewayIntentBits.GuildMessageReactions GatewayIntentBits.GuildMessageReactions
], ],
partials: [Partials.Message, Partials.Reaction] partials: [Partials.Message, Partials.Reaction]