独自のボットをホストする
Disbandは、あなたのボットをホストしたり実行したりしません。 クライアントは好きな場所から実行でき、ボットトークンを使用して、ロングポーリングゲートウェイを介してDisbandと通信します。 このページでは、ボットを生き続けることの実際的な側面について説明します。
どこで実行するか
出向HTTPSリクエストを実行できるすべてのマシンが動作します。ゲートウェイはロングポーリングであるため(コードは接続を保持し、Disbandはイベントが到着するとイベントを返します)、パブリックアドレス、インバウンドポート、またはwebsocketは必要ありません。
良いオプション、一番安いから先:
| ホスト | メモ |
|---|---|
| ラップトップ/デスクトップ | あなたがオンラインのときにオンラインになるパーソナルボットには最適です。 |
| 小さなVPS(1 GB RAM) | ~$4–6/月; JavaScript クライアントはほとんど何も必要ありません。 |
| クラウド機能/ワーカー | プラットフォームが永続的なプロセスを許可する場合、サーバーレスは機能します。クライアントは安価に再起動できるほど状態レスです。 |
| コンテナ/プテロダクトル | クライアントにはランタイム依存関係がゼロなので、任意のイメージが動作します。 |
あなたが実際に必要なもの
- JavaScript: Node.js 18歳以上、または Deno、または Bun。ゼロの実行時間依存関係。
- Python: Python 3.9+。標準ライブラリのみ(スレッド処理 +
urllib)。
データベースもキューもフレームワークもインストールする必要はありません。
それを生き続ける
ゲートウェイは自分で永遠にループします。自動的に再接続して再試行されます。3つのことが実際のボットを殺す傾向があります。
クラッシュループ。 クライアントをスーパーバイザーに包み込み、エラーが発生した場合に再起動します。
# systemd [Unit] Description=disband-bot After=network-online.target [Service] ExecStart=/usr/local/bin/node /opt/my-bot/index.js Restart=always RestartSec=3 Environment=DISBAND_BOT_TOKEN=… [Install] WantedBy=multi-user.target期限切れのトークン。 ボットが取り消された場合(または招待状が期限切れになる前に取り消された場合 承認された)、ゲートウェイAPIは
401を返します。処理してください:明確にログを保持し、停止してください。 永遠に再試行するのではなく、両方のクライアントはこのことをerrorイベントとして表面化します。 JavaScriptのAuthError/ PythonのAuthError- そしてループは代わりに停止します ハンマーの。**サイレント構成ドリフト。**トークンを環境変数または秘密に保存します。 ソースではなく、ストアに保存します。トークンを回転させると、プロセスを再起動します。 新しい値。
データの読み取りと書き込み
ボットは、スコープされたHTTP APIとだけ話します。状態をポーリングまたは保持するには、すでに運用しているストレージ(ファイル、データベース、Redisなど)を使用してください。クライアントは気にしません。
マルチサーバーボット
ボットは多くのサーバーに招待できます。承認された範囲はサーバーごとに異なります。そのため、どこでもメッセージを読み取ることができるボットも、所有者がmessages.writeを許可した場所にのみ書き込みます。動作がサーバーごとに異なる必要がある場合は、コードをmessage.server_idで分岐できます。
さらに進む
- 正確なエンドポイントについては、**APIリファレンス**を参照してください。 クライアントを使用する - 別の言語で独自のクライアントを書きたい場合は便利です。
- JavaScriptとPython 参照ページには、すべての方法とイベントが含まれています。
Disband