コマンドが使用されているチャネルとは別のチャネルにメッセージを送信するスラッシュ コマンドを備えたボットがあります。メッセージには 2 つのボタンがあり、ボタンが押されると、ボタンをクリックしたユーザーの名前が console.log
に記録されます。スラッシュ コマンド ファイル全体は次のとおりです:
ただし、ここが重要です:
リーリーメッセージ ボタンの 1 つを押すと、Discord では「このインタラクションは失敗しました」と表示されるだけですが、コンソールにはエラーは表示されず、ボットはクラッシュしません。それは何もしません。私はここのドキュメントに従っています: https://discordjs.guide/message-components/interactions.html#awaiting-components。
ドキュメントにあるような response
ではなく、message
に基づいて収集しているためではないかと考えています。しかし、本当に反響だけを集めることができるのでしょうか?これは正しくないようです。私が何を間違えたのでしょうか?
Button ではなく StringSelectMenu コンポーネントを収集しているため、対話は失敗します。
次の行を変更してください:
リーリー ###への変更:### リーリーボタンを収集するには、
i.customId
ComponentTypeを使用します。
参照: