EasyBot

EASYBOT GUIDE

Discord Unknown Interaction 10062の原因と対処法

Discord APIエラー10062 Unknown Interactionが出る時に、応答期限、二重応答、遅い処理を確認する方法を紹介します。

Unknown Interaction(10062)は、Discordが有効なInteractionとして認識できない時に返ります。応答が遅れて期限を過ぎた場合、既に応答済みの場合、無効なInteractionを使った場合に発生します。

応答期限を守る

スラッシュコマンドなどのInteractionには初回応答の期限があります。重い処理の前にdeferを送り、その後に編集応答する設計を使います。

  • 受信後すぐにdeferする
  • 長い処理をバックグラウンドへ移す
  • Interaction作成時刻と応答時間を記録する

二重応答を防ぐ

複数のイベントハンドラーや例外処理が同じInteractionへ応答すると、既に応答済みのエラーになります。応答状態を管理し、初回応答とfollow-upを使い分けます。

  1. 同じコマンド登録が重複していないか確認する
  2. 一つの経路だけが初回応答するようにする
  3. 例外処理で応答済み状態を確認する

再起動と古いInteraction

プロセス再起動後に古いInteractionを再利用したり、保存して後で応答しようとしたりしないでください。Interactionトークンは長期保存用の認証情報ではありません。

  • 古いInteractionオブジェクトをキューへ残さない
  • ログにInteraction Tokenを出さない
  • 期限切れ時は利用者へ再実行を案内する

原因調査

ログへコマンド名、受信時刻、応答所要時間を記録すると分析しやすくなります。秘密のTokenやユーザーの入力全体を記録する必要はありません。

  • 処理時間の遅いコマンドを特定する
  • SDKのエラーコードと応答順を確認する
  • 一つのコマンドで段階的に再現する