EASYBOT GUIDE
Discord Unknown Interaction 10062の原因と対処法
Discord APIエラー10062 Unknown Interactionが出る時に、応答期限、二重応答、遅い処理を確認する方法を紹介します。
Unknown Interaction(10062)は、Discordが有効なInteractionとして認識できない時に返ります。応答が遅れて期限を過ぎた場合、既に応答済みの場合、無効なInteractionを使った場合に発生します。
応答期限を守る
スラッシュコマンドなどのInteractionには初回応答の期限があります。重い処理の前にdeferを送り、その後に編集応答する設計を使います。
- 受信後すぐにdeferする
- 長い処理をバックグラウンドへ移す
- Interaction作成時刻と応答時間を記録する
二重応答を防ぐ
複数のイベントハンドラーや例外処理が同じInteractionへ応答すると、既に応答済みのエラーになります。応答状態を管理し、初回応答とfollow-upを使い分けます。
- 同じコマンド登録が重複していないか確認する
- 一つの経路だけが初回応答するようにする
- 例外処理で応答済み状態を確認する
再起動と古いInteraction
プロセス再起動後に古いInteractionを再利用したり、保存して後で応答しようとしたりしないでください。Interactionトークンは長期保存用の認証情報ではありません。
- 古いInteractionオブジェクトをキューへ残さない
- ログにInteraction Tokenを出さない
- 期限切れ時は利用者へ再実行を案内する
原因調査
ログへコマンド名、受信時刻、応答所要時間を記録すると分析しやすくなります。秘密のTokenやユーザーの入力全体を記録する必要はありません。
- 処理時間の遅いコマンドを特定する
- SDKのエラーコードと応答順を確認する
- 一つのコマンドで段階的に再現する