디스코드 봇을 심심해서 만드는데
사용자가 음성채널에 들어가는 이벤트에 대해서 처리 하고 싶었다.
discord.js를 이요해서 구현 중이고
버전은 v 14.16.3 버전을 기준이다.
14버전부터 많은게 바뀌어서 자료가 별로 없는것 같다..
그래서 다 영어로 검색해야 해서 슬프다...
기본 설정은 다 해뒀고
음성 채널에 참가했을때 참가한 시간을 간단하게 시간을 측정해주는 건데
const { Events } = require("discord.js");
module.exports = {
name: Events.VoiceStateUpdate,
once: false,
async execute(oldState, newState) {
// 유저가 음성 채널에 들어갔을 때
if (!oldState.channelId && newState.channelId) {
// 시작 시간을 기록
console.log(`사용자가 음성채널에 들어갔습니다: ${newState.member.user.tag}`);
}
}
};
를 하고 실행을 해도 로그가 나오지 않았다...
무반응
즉 음성채널 참가 이벤트가 실행되지 않았다.
그러다 오류를 계속 찾아도 안나왔는데
const client = new Client({ intents: [GatewayIntentBits.Guilds,
GatewayIntentBits.GuildVoiceStates //음성 상태 업데이트를 위한 인텐트 추가
] });
와 같이 음성 상태 없데이트에 관한 인텐트를 추가 해줘야 했다!!! ㅠㅠ
반응형
'Node.js' 카테고리의 다른 글
| Node.JS base64로 인코딩한 이미지 incorrect 오류 (0) | 2023.11.07 |
|---|---|
| Node js cookie 설정시 option sameSite is invalid 오류 (0) | 2023.10.24 |
| Node js Connection Pool (4) | 2023.10.18 |
| Promise { <pending> } 이 뜬다. (0) | 2023.10.10 |
| JWT(json web token)으로 로그인시 토큰 발행 해주기(access, refresh) (0) | 2023.09.24 |