>웹 프론트엔드 >JS 튜토리얼 >내 Discord.js 길드 멤버 이벤트가 실행되지 않는 이유는 무엇이며 어떻게 해결할 수 있나요?

내 Discord.js 길드 멤버 이벤트가 실행되지 않는 이유는 무엇이며 어떻게 해결할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-29 15:55:16769검색

Why Aren't My Discord.js Guild Member Events Firing, and How Can I Fix It?

내 discord.js 길드원 이벤트가 하나도 내보내지지 않고, 내 사용자 캐시가 기본적으로 비어 있고, 내 기능이 시간 초과되었습니다

다음과 같은 문제를 경험한 적이 있습니까?

  • 귀하의 guildMemberAdd, guildMemberRemove 및 guildMemberUpdate 이벤트가 갑자기 작동을 멈춥니다
  • GuildMemberManager의 캐시가 비어 있거나 캐시에 가깝습니다
  • GuildMemberManager.fetch() 및 UserManager.fetch() 메소드 시간이 초과되었습니다
  • fetchAllMembers를 지정하면 client.login()이 시간 초과됩니다. 옵션
  • 귀하의 길드원이 오프라인인 것 같습니다

이러한 문제가 발생하는 경우 안타깝게도 귀하가 취할 수 있는 조치는 크게 없습니다. 최근 Discord는 특권 인텐트를 시행하여 위에 나열된 문제를 일으킬 수 있습니다.

특권 인텐트란 무엇인가요?

특권 인텐트 수동으로 활성화해야 하는 민감한 데이터입니다. 2020년 10월 27일부터 이러한 인텐트는 기본적으로 꺼져 있습니다.

권한 인텐트에는 다음이 포함됩니다.

  • GUILD_PRESENCES: 이 인텐트 봇이 현재 상태에 액세스하도록 허용합니다. data.
  • GUILD_MEMBERS: 이 인텐트를 사용하면 봇이 회원 데이터에 액세스할 수 있습니다.

권한 있는 인텐트를 활성화하는 방법

  1. Discord 개발자 바로가기 포털: [https://discord.com/developers/applications](https://discord.com/developers/applications)
  2. 애플리케이션 선택
  3. "봇"을 클릭하세요 탭
  4. "권한 있는 게이트웨이 인텐트" 섹션까지 아래로 스크롤
  5. "서버 구성원" 및/또는 "서버 존재" 인텐트 활성화
  6. '저장'을 클릭하세요. 변경 사항"

봇이 확인되지 않은 경우 권한 있는 인텐트에 대한 액세스를 요청하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.