特徴
- 直感的なAPI - Honoに影響を受けており、馴染みやすく使いやすいインターフェースを提供
- 軽量 - 依存関係ゼロ、パフォーマンス最適化
- 型安全 - TypeScriptのネイティブサポート
サーバー型Bot と サーバーレスBot
サーバー型Bot | サーバーレスBot | |
---|---|---|
できること | 全て | コマンドへの返答 REST API でできること |
できないこと | - | 常時接続系ができない |
スケーリング | 色々する必要がある | 自動スケール |
コスト | 無料:ダウンタイム有り 大規模:高額になりやすい | 無料:ダウンタイム無し 大規模:低コストにしやすい |
ライブラリ | Discord.js Discord.py Discordeno etc… | DiscordHono …?(他を知らない) |
できること、できないこと
- サーバー型Bot
- 全てできる
- サーバーレスBot
- コマンドへの返答や REST API でできることはできる
- 常時接続系ができない
サーバーレスBot は常時接続(VCに接続したり、コメントを監視して返答したり)ができません。
これがサーバーレスBot の一番のデメリットです。
逆に常時接続する予定がなければ、サーバーレスBot を検討する余地があると思います。
スケーリング
- サーバー型Bot
- 色々対応する必要がある
- サーバーレスBot
- 自動スケール
サーバーレスBot はスケーリングについて、特に考えることがないです
コスト
- サーバー型Bot
- 無料:ダウンタイム有り
- 大規模:高額になりやすい
- サーバーレスBot
- 無料:ダウンタイム無し
- 大規模:低コストにしやすい
サーバーレスBot は常時稼働しているわけではないため、低コストにしやすいです。
無料利用でも、ほとんどのサービスでダウンタイムがありません。(正確には、ダウンタイムが気にならないほど速いです)
参考資料
https://github.com/IanMitchell/interaction-kit?tab=readme-ov-file#http
https://github.com/discordeno/discordeno/tree/main/packages/rest#discordeno-rest
開発の方向性
優先的に対応する内容
- Cloudflare Workers での動作
- Discord Interactions の受信と応答
優先度は低いが、少しずつ対応する内容
- Cloudflare 以外の環境での動作
- REST API へのリクエストとレスポンス