ホームページ  >  に質問  >  本文

スラッシュコマンドでユーザーIDによってユーザーを取得するにはどうすればよいですか?

初心者なので必要に応じてチュートリアルを参照しながら Discord ボットを作成してきましたが、簡単そうに見えても解決できない問題に遭遇しました。リーダーボードを描画しようとしています。リーダーボード上の各ポジションについて、ユーザーのアバターをリーダーボードに描画したいと考えています。これを行うには、ユーザー ID だけでユーザーを取得できるようにしたいと考えています。ただし、私はこれらすべてを 1 つのスラッシュ コマンドで実行しています。コンテキストやより適切な説明を提供するために、非常に単純化した例を次に示します:

リーリー

私はかなりの調査を行ってきましたが、私が見つけた唯一の有効な解決策 (上記のサンプル コードで確認できます) は、 const target = interaction.guild.members.cache.get("User_ID "); ただし、戻り値をコンソールに記録することはできますが、「target.user」のようなことを実行しようとすると、ターゲットが未定義であると表示されます。それが役立つ場合は、はい、私の意図にギルドメンバーを含めます。

P粉368878176P粉368878176460日前478

全員に返信(2)返信します

  • P粉029327711

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

    スラッシュ コマンドを実行したユーザーの ID を取得したいだけの場合は、interaction.user.id を使用できます。

    ID でユーザーを取得するには、次のコードを実行します:

    リーリー

    返事
    0
  • P粉006977956

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

    members.fetch は非同期であるため、使用する必要があります。forEach は同期であるため、forEach を for...of に変更する必要があります。

    リーリー

    返事
    0
  • キャンセル返事