初心者なので必要に応じてチュートリアルを参照しながら Discord ボットを作成してきましたが、簡単そうに見えても解決できない問題に遭遇しました。リーダーボードを描画しようとしています。リーダーボード上の各ポジションについて、ユーザーのアバターをリーダーボードに描画したいと考えています。これを行うには、ユーザー ID だけでユーザーを取得できるようにしたいと考えています。ただし、私はこれらすべてを 1 つのスラッシュ コマンドで実行しています。コンテキストやより適切な説明を提供するために、非常に単純化した例を次に示します:
リーリー私はかなりの調査を行ってきましたが、私が見つけた唯一の有効な解決策 (上記のサンプル コードで確認できます) は、 const target = interaction.guild.members.cache.get("User_ID "); ただし、戻り値をコンソールに記録することはできますが、「target.user」のようなことを実行しようとすると、ターゲットが未定義であると表示されます。それが役立つ場合は、はい、私の意図にギルドメンバーを含めます。
スラッシュ コマンドを実行したユーザーの ID を取得したいだけの場合は、interaction.user.id を使用できます。
ID でユーザーを取得するには、次のコードを実行します:
リーリーmembers.fetch は非同期であるため、使用する必要があります。forEach は同期であるため、forEach を for...of に変更する必要があります。
リーリー