>  Q&A  >  본문

슬래시 명령에서 사용자 ID로 사용자를 얻는 방법은 무엇입니까?

초보 때부터 필요에 따라 튜토리얼을 참고하면서 Discord 봇을 작성해 왔는데, 간단해 보이지만 해결이 안 되는 문제에 봉착했습니다. 리더보드를 그리려고 하는데, 리더보드의 각 위치에 대해 사용자의 아바타를 리더보드에 그리도록 하고 싶습니다. 이를 위해 사용자 ID만으로 사용자를 얻을 수 있기를 원합니다. 그러나 나는 이 모든 것을 하나의 슬래시 명령으로 수행하고 있습니다. 다음은 몇 가지 맥락 및/또는 더 나은 설명을 제공하기 위한 매우 간단한 예입니다.

으아악

저는 꽤 많은 연구를 했고 제가 찾은 유일하게 작동하는 솔루션(위의 샘플 코드에서 볼 수 있음)은 const target = 상호작용.guild.members.cache.get("User_ID")를 사용하는 것입니다. ; 그러나 콘솔에 반환 값을 기록할 수는 있지만 "target.user"와 같은 작업을 시도하면 대상이 정의되지 않았다는 메시지가 나타납니다. 도움이 된다면, 제 의도에 GuildMembers를 포함하겠습니다.

P粉368878176P粉368878176460일 전481

모든 응답(2)나는 대답할 것이다

  • P粉029327711

    P粉0293277112023-07-19 15:38:14

    슬래시 명령을 실행한 사용자의 ID만 알고 싶다면 상호작용.user.id를 사용하면 됩니다.

    ID로 사용자를 얻으려면 다음 코드를 실행하면 됩니다.

    으아아아

    회신하다
    0
  • P粉006977956

    P粉0069779562023-07-19 12:06:11

    비동기식이므로 member.fetch를 사용해야 하고, forEach는 동기식이므로 forEach를 for...of로 변경해야 합니다.

    으아아아

    회신하다
    0
  • 취소회신하다