コンテンツにスキップ

特徴

  • 直感的な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 へのリクエストとレスポンス