내 discord.js 길드원 이벤트가 하나도 내보내지지 않고, 내 사용자 캐시가 기본적으로 비어 있고, 내 기능이 시간 초과되었습니다
다음과 같은 문제를 경험한 적이 있습니까?
- 귀하의 guildMemberAdd, guildMemberRemove 및 guildMemberUpdate 이벤트가 갑자기 작동을 멈춥니다
- GuildMemberManager의 캐시가 비어 있거나 캐시에 가깝습니다
- GuildMemberManager.fetch() 및 UserManager.fetch() 메소드 시간이 초과되었습니다
- fetchAllMembers를 지정하면 client.login()이 시간 초과됩니다. 옵션
- 귀하의 길드원이 오프라인인 것 같습니다
이러한 문제가 발생하는 경우 안타깝게도 귀하가 취할 수 있는 조치는 크게 없습니다. 최근 Discord는 특권 인텐트를 시행하여 위에 나열된 문제를 일으킬 수 있습니다.
특권 인텐트란 무엇인가요?
특권 인텐트 수동으로 활성화해야 하는 민감한 데이터입니다. 2020년 10월 27일부터 이러한 인텐트는 기본적으로 꺼져 있습니다.
권한 인텐트에는 다음이 포함됩니다.
-
GUILD_PRESENCES: 이 인텐트 봇이 현재 상태에 액세스하도록 허용합니다. data.
-
GUILD_MEMBERS: 이 인텐트를 사용하면 봇이 회원 데이터에 액세스할 수 있습니다.
권한 있는 인텐트를 활성화하는 방법
-
Discord 개발자 바로가기 포털: [https://discord.com/developers/applications](https://discord.com/developers/applications)
- 애플리케이션 선택
- "봇"을 클릭하세요 탭
- "권한 있는 게이트웨이 인텐트" 섹션까지 아래로 스크롤
- "서버 구성원" 및/또는 "서버 존재" 인텐트 활성화
- '저장'을 클릭하세요. 변경 사항"
봇이 확인되지 않은 경우 권한 있는 인텐트에 대한 액세스를 요청하려면 Discord에 지원 티켓을 제출해야 합니다.
Discord.js 구현
Discord 개발자에서 권한 있는 인텐트를 활성화한 후 포털에서는 Discord.js 봇에서 이를 활성화해야 합니다.
이렇게 하려면 봇 생성자에 다음 코드를 추가하세요.
const client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILD_MEMBERS,
Discord.Intents.FLAGS.GUILD_PRESENCES
]
});
이렇게 하면 GUILD_MEMBERS 및 GUILD_PRESENCES가 활성화됩니다. 봇에 대한 인텐트를 사용합니다.
WS를 사용하여 특권 인텐트를 활성화할 수도 있습니다. 옵션:
const client = new Discord.Client({
ws: {
intents: [
Discord.Intents.FLAGS.GUILD_MEMBERS,
Discord.Intents.FLAGS.GUILD_PRESENCES
]
}
});
특권 인텐트를 활성화한 후에도 여전히 문제가 발생하는 경우 다음 리소스를 참조하세요.
- [Discord 개발자 포털 - 게이트웨이 인텐트](https://discord.com/developers/docs/topics/gateway#gateway-intents)
- [Discord.js 공식 가이드 - 게이트웨이 인텐트 ](https://discordjs.guide/gateway/intents.html)
- [게이트웨이 업데이트 FAQ](https://discord.com/developers/docs/topics/gateway#gateway-intents)
- [Discord API Github - 문제 1363 - 권한 있는 인텐트](https://github.com/discord /discord-api-docs/issues/1363)
- [Discord 블로그 - 봇의 미래 디스코드](https://blog.discord.com/the-future-of-bots-on-discord-3d25af28f58e)
위 내용은 내 Discord.js 길드 멤버 이벤트가 실행되지 않는 이유는 무엇이며 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!