Hiyocord ドキュメント¶
Hiyocordは、Cloudflare Workersベースの分散マイクロサービス集合体であり、様々な外部サービスとDiscordを接続するためのプラットフォームです。
概要¶
Hiyocordプロジェクトは、Discord botの開発とデプロイを効率化するための複数のリポジトリで構成されています。各コンポーネントは独立して動作しながら、統合されたエコシステムを形成しています。
アーキテクチャ¶
Hiyocordは3つの主要なコンポーネントで構成されています:
1. Hiyocord Nexus¶
Discord interactionの中央ハブとして機能します。Discordからのインタラクション(コマンド、ボタンクリック、モーダル送信など)を受け取り、登録されたマニフェストに基づいて適切なサービスワーカーにルーティングします。
主な機能:
- Discord interactionの検証とルーティング
- マニフェストベースのサービス登録
- Discord APIへの自動コマンド登録
- HMAC-SHA256ベースのサービス間認証
2. Hiyocord Packages¶
共有ライブラリとAPIラッパーのコレクションです。Discord REST API、GitHub REST API、interaction処理などの共通機能を提供します。
含まれるパッケージ:
@hiyocord/discord-rest-api- Discord API v10クライアント@hiyocord/github-rest-api- GitHub APIクライアント@hiyocord/discord-interaction-client- Interaction処理とレスポンスビルダー@hiyocord/rest-api-core- OpenAPIベースのREST APIクライアント基盤
3. Hiyocord Service Workers¶
Discord bot機能を実装するためのテンプレートリポジトリです。Cloudflare Workers上でDiscord interactionを処理し、Nexusと連携して動作します。
特徴:
- Honoフレームワークベースの軽量実装
- レジストリパターンによるハンドラー管理
- 自動デプロイパイプライン
- 包括的なオブザーバビリティ
クイックスタート¶
前提条件¶
- Node.js 22以上
- npm
- Cloudflareアカウント
- Discord Bot Token
基本的なワークフロー¶
- Service Workerの作成:
hiyocord-service-workersをテンプレートとして新しいワーカーを作成 - コマンドハンドラーの実装: Discord interactionに対応するハンドラーを作成
- マニフェストの登録: Nexusにサービスのマニフェストを登録
- デプロイ: Cloudflare Workersにデプロイ
詳細な手順については、Getting Started Guideを参照してください。
技術スタック¶
- ランタイム: Cloudflare Workers
- 言語: TypeScript
- フレームワーク: Hono
- ビルドツール: Vite
- API: Discord API v10
- ストレージ: Cloudflare KV
- CI/CD: GitHub Actions
プロジェクト構成¶
hiyocord/
├── hiyocord-nexus/ # 中央ルーティングハブ
├── hiyocord-packages/ # 共有ライブラリ
├── hiyocord-service-workers/ # サービスワーカーテンプレート
└── docs.hiyocord.org/ # このドキュメント
リソース¶
ライセンス¶
すべてのHiyocordプロジェクトはMITライセンスの下で公開されています。