Skip to content

feat(discord-bot): 応答メッセージを日本語化しクエスト名をタイトルで表示 - #559

Merged
yu23ki14 merged 1 commit into
mainfrom
feat/discord-bot-ja-messages
Jul 27, 2026
Merged

feat(discord-bot): 応答メッセージを日本語化しクエスト名をタイトルで表示#559
yu23ki14 merged 1 commit into
mainfrom
feat/discord-bot-ja-messages

Conversation

@yu23ki14

Copy link
Copy Markdown
Member

概要

@toban/discord-bot のユーザーに見えるメッセージを全て日本語にしました。あわせて、クエスト完了報告の確認メッセージが Quest #12 ではなくクエスト名を表示するようにしています。

日本語化の対象

  • 各コマンドの ephemeral / followup メッセージ(thx / balance / quest submit / toban-link / toban-setup
  • Discord UI 上に出るコマンド説明(commands/payload.ts
  • インストール時にブラウザへ返す HTTP レスポンス(api/install/{start,callback}.ts
  • README 内で引用していた旧メッセージ 4 箇所

Discord API 向けのレスポンス(invalid signature 等、人間の目に触れない)と console.error の運用ログは英語のまま据え置いています。

クエスト名の表示

questChoiceLabel を「タイトルのみ」に変更しました(以前は タイトル (#42))。タイトルが未取得のときだけ クエスト #42 にフォールバックします。オートコンプリートの候補と完了報告の確認メッセージが同じ関数を使うため、選んだときと確認されたときで表示が一致します。

**ロゴのデザイン** の完了を報告しました。
報告者: `0x...`
Tx: `0x...`

executeQuestSubmitInner にタイトル取得を追加していますが、配置に以下の配慮をしています:

  • メンバーシップ / モジュール解決のチェックを通過した後に開始 → 失敗パスで無駄なサブグラフリクエストを出さない
  • トランザクションと並行して走らせ後から await → 追加のレイテンシがゼロ
  • await より前に .catch() を付与 → unhandled rejection にならず、サブグラフ障害時は ID 表示にフォールバックするだけで送信自体は失敗しない(タイトルは表示専用のため)

テスト

test/quest-submit.test.ts 7 箇所、test/thx.test.ts 4 箇所のアサーションを新文言に追随させました。

  • pnpm --filter @toban/discord-bot test — 44 passed
  • pnpm --filter @toban/discord-bot typecheck — pass
  • Biome check / format — clean

なお /quest submit の成功パスは元から実行テストがありません(executeQuestSubmit が内部で walletClient を組み立てるため、test/thx.test.ts にあるような RPC スタブ一式が必要)。そのためタイトル表示部分は typecheck とレビューでの確認のみです。

デプロイ時の注意

payload.ts のコマンド説明を変更したため、既存ギルドではコマンドの再登録が必要です(新規インストールは api/install/callback.ts が自動登録します):

pnpm --filter @toban/discord-bot register-commands <guild-id>

コントラクト / サブグラフ / Turnkey policy への影響はありません。

🤖 Generated with Claude Code

ユーザーに見えるメッセージを全て日本語にした。対象は各コマンドの
ephemeral / followup、Discord UI に出るコマンド説明 (payload.ts)、
インストール時にブラウザへ返す HTTP レスポンス。Discord API 向けの
レスポンスと運用ログは英語のまま据え置き。

あわせて questChoiceLabel をタイトルのみに変更し、完了報告の確認
メッセージも `Quest #12` ではなくクエスト名を出すようにした。
タイトル取得はメンバーシップ/モジュール解決のチェックを通過した後に
開始してトランザクションと並行させ、失敗パスで無駄なサブグラフ
リクエストを出さない。await より前に .catch を付けているので
サブグラフ障害時は ID 表示にフォールバックするだけで、送信自体は
失敗しない。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
toban Ready Ready Preview, Comment Jul 27, 2026 2:35am

Request Review

@yu23ki14
yu23ki14 merged commit c62000f into main Jul 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant