アプリケーション初期設定(GUIセットアップ)

J-Sentinel を正常に動作させるための初期手順と、必要な実行環境の整え方について解説します。

1. 動作環境・事前準備

Pythonインストール画面

2. 初期設定 (GUIセットアップ)

  1. 配布されているフルシステム版のZIPファイルを解凍し、フォルダを適当な場所に配置してください。
    • ※Program Files、Program Files(x64)、Program Data、Windowsなどのシステム保護フォルダには保存しないでください。
    • ※例は C:\ 直下に配置して作業していきます。
  2. フォルダ内にある setup-gui.bat をダブルクリックして実行します。
  3. 自動的に Python の環境確認と、不足している外部ライブラリ(requests, psutil, Pillow, customtkinter, discord.py, nio, pandas 等)の導入が行われます。
  4. セットアップが完了すると、GUI設定画面が立ち上がります。

3. GUIでの各種設定

メインシステムの設定

メインシステム設定画面

  1. Bot 共通設定 (①): 使用する Discord の Bot トークンを入力します。
    • Discordで対話型botを使用する場合はDiscordにbotシステムを配置する必要があります。設定については別途設定ページを参照してください。
    • Matrixはプッシュ通知用設定だけでbotが動作します。
    • Matrix、Discord以外では対話型botは動作しません。
  2. 監視対象の選択 (②, ③): 気象庁総合インフォメーションおよび地震情報からプッシュ投稿するデータをカテゴリ別に選択します。
    • コアシステムの項目にあるCSVを編集することでカテゴリを変更できます。詳しくはコアシステムの項目を参照してください。
    • フォルダ監視なので同監視フォルダ内に別ジャンルのフォルダを配置した場合はその情報もプッシュされてしまいます。
    • CSVファイルを変更した場合は、一度セットアップを終了して再度setup-gui.batを起動してください。
  3. 配信先・SNS連携設定 (④): 各種プッシュ通知用のアカウントやWebhook URLを設定します。
    • 設定の詳細については各種設定方法を参照してください。
  4. ショートカット作成 (⑤): デスクトップ及びスタートアップへのショートカットアイコン作成を設定できます。
    • 作成はできますが自動削除はされないため、不要になった場合は手動で削除してください。
  5. 設定の保存 (⑥): 「設定を保存」 ボタンをクリックするとメインシステムの config.json に自動反映されます。
    • コアシステム側の config.json には保存されません。コア側の設定を変更する場合は次項のCore設定を使用してください。

※右下のボタンから 「Core設定を開く (js_gui_setup.py)」 を起動できます。

コアシステムの設定

コアシステム設定画面

  1. 基本設定 (①)
    • デバッグモード: 有効にすると詳細ログが出力されます。
    • 巡回インターバル: データを取得する周期の時間を秒単位で設定します。
  2. タスク有効/無効設定 (②)
    • 気象庁の総合情報(fetch_info.py)、地震情報(fetch_quake.py)、気象警報(fetch_warning.py)、天気予報(fetch_forecast.py)の取得タスクを個別に切り替えます。
  3. データ保持設定 (③)
    • 古いデータの自動クリーンアップの有効化と、保持日数(日)を設定します。
  4. マスターCSV振り分け設定 (④)
    • ジャンル分けの管理ができるマスターCSV(infosorter.csv, quakesorter.csv)をスプレッドシート等で編集するために直接開きます。
  5. デスクトップショートカット作成 (⑤)
    • メインシステムをお使いの場合は単体で起動すると重複起動による不具合の原因になるため、コアシステム単体の常駐は避けてください。
  6. 設定を保存 (⑥)
    • 「設定を保存」 ボタンをクリックするとコア側の config.json に自動反映されます。

【備考】タスクごとのデータベース保管構造の違いについて

J-Sentinelのコアシステムでは、取得するデータ種別によってdatabase内の保存構造が異なります。運用時の確認やデバッグの際にご留意ください。

  • info(総合) / quake(地震)フォルダ: 発生日時をベースに YYYY/MM/DD 階層のフォルダを自動生成し、過去の電文データをすべて時系列順に蓄積していく構造(ストック型)です。
  • keiho(気象警報) / weather(天気予報)フォルダ: 常時最新の状態を維持するため、base(latest/previous)や convert(WarningRT / WeatherRT)といった固定ファイル名に対し、最新データへ上書き保存していく構造(スナップショット型)です。