Karinoya Watchdog — Discord bot の死活監視ツール(止まったら自動で起動し直す)
- Digital500 JPY

自宅のパソコンで Discord bot を動かしている人のための、見張り役です。 bot が黙って止まっても、ふつうは気づけません。画面を出さずに動かしていると、落ちてもエラーは見えないからです。気づくのはたいてい数時間後、「あれ、動いてない」と思ったときです。 Karinoya Watchdog は、止まった bot を自動で起動し直し、Discord に知らせます。 🐕 07:00 稼働状況 Karinoya Log 稼働中 Karinoya Time 稼働中 Karinoya Event 起動し直しました Karinoya Translate 稼働中 ■ できること ・各 bot が 30 秒ごとに書く data\alive.json を、1 分ごとに確認します ・3 分以上更新が止まっていれば、固まったプロセスを止めてから起動し直します ・「止まりました」「復旧しました」を Discord の Webhook で投稿します ・毎朝 1 回、見張っている bot の稼働状況をまとめて投稿します ・何度起動しても立ち上がらないときは、再起動をやめて通知だけに切り替えます(設定ミスで延々と再起動を繰り返さないための歯止め) ■ 「通知が来ないこと」が異常のしるしになります 毎朝 1 回だけ届く稼働報告を設定しておくと、その投稿が来なかったときは、bot かパソコンか見張り役自身に問題が起きています。通知を増やすのではなく「静かになったら異常」という形にしているのが、この道具の考え方です。 ■ 必要なもの ・Windows 10/11(Mac・Linux でも動きます) ・Python 3.10 以上(無料) ・追加のライブラリは不要です。仮想環境も要りません 見張る側が重い仕組みに頼っていると、見張る側が先に落ちます。そのため Python の標準機能だけで動くようにしています。 ■ 対応している bot Karinoya Log / Time / Event / Translate に対応しています。 それ以外の bot でも、data\alive.json に {"name": ..., "pid": ..., "at": "ISO8601 の時刻(UTC)"} を定期的に書き、run.bat(または run.sh)で起動できる作りであれば見張れます。 ━━━━━━━━━━━━━━━━━━━━ ⚠️ 購入前に必ずご確認ください ━━━━━━━━━━━━━━━━━━━━ 【これは単体では何もしません】見張る対象の bot が別に必要です。Karinoya Time / Event / Translate には、この Watchdog を同梱しています。そちらをご購入の場合、この商品を重ねて買う必要はありません 【Karinoya Log をお持ちの方】Karinoya Log には同梱していません。Log を見張りたい場合は、この商品が必要です 【パソコンの電源】パソコンが切れている間は、見張り役も止まります。bot をパソコンで動かす方式に共通の制約です 【Discord への通知】通知には Webhook の URL が必要です(チャンネル設定から数クリックで取得できます・手順書あり)。設定しなくても動きますが、そのときは記録がログファイルに残るだけになります ■ 導入の流れ(約 5 分) 1. zip を展開して、見張りたい bot とは別のフォルダに置く 2. watchdog.txt.example をコピーして watchdog.txt にし、見張りたいフォルダを BOT= の後ろに書く 3. 通知したいチャンネルのウェブフック URL を WEBHOOK_URL= に貼る(任意) 4. run_watchdog_console.bat で動作を確認 → run_watchdog.bat で常駐 5. install_watchdog_startup.bat で Windows 起動時の自動実行に登録 ■ 二重起動や誤判定を起こさない作り ・止めるのは、alive.json に記録された PID を取り、コマンドラインがその bot と一致することを確かめたプロセスだけです。無関係なプログラムを止めることはありません ・Windows のサインイン直後は、bot が立ち上がるのを待ってから判定します。立ち上がり途中の bot を二重に起動させません ■ 同梱物 ・karinoya_watchdog.py(本体) ・README.md(導入手順・FAQ) ・watchdog.txt.example(設定ファイルの見本) ・LICENSE.txt(利用許諾) ・run_watchdog.bat / run_watchdog_console.bat / stop_watchdog.bat / restart_watchdog.bat / install_watchdog_startup.bat / uninstall_watchdog_startup.bat(Windows 用) ・run_watchdog.sh(Mac・Linux 用) ■ 利用条件・サポート ・ライセンス:購入者ご自身が管理するパソコン・サーバーなら数に制限なく利用可。自分用の改変も可。第三者への再配布・販売は不可(詳細は同梱の LICENSE.txt) ・返金:ダウンロード商品のため、購入者都合(誤購入・動作環境の不足など)による返金はできません。ファイルの破損など当方の不備は、購入から 30 日以内にご連絡いただければ再提供または返金します ・サポート:個別の導入サポートは行っていません。不具合のご報告は BOOTH のメッセージからどうぞ(対応をお約束するものではありません) ・アップデート:提供する場合は BOOTH の購入履歴から再ダウンロードできます ■ 販売者 一般社団法人 仮の宿(KARINOYA) 外出できない人・言葉が違う人がひとりにならないための、オンラインの居場所と多言語の学習教材をつくっている非営利団体です。この道具は、自分たちの bot が黙って止まって 4 時間気づけなかったことがきっかけで作りました。売上は活動に使います。 https://karinoya.com/tools/ ✅ 見張る対象の bot を別に持っていることを確認しました ✅ パソコンが切れている間は動かないことを理解しました ✅ Karinoya Time / Event / Translate には同梱されていることを確認しました

