メンバーの累計メッセージ数、ロール付与履歴、カスタム設定 ── Bot に必要なデータは BotShade が保管します。DB の構築も、SQL の知識も、サーバー管理も必要ありません。
値の取得、保存、加減算、リセット ── どれもノードエディタからワンクリックで指定できます。SQL を書く必要も、テーブルを設計する必要もありません。
ノードエディタから直接読み書き
ギルド単位 / ユーザー単位のスコープ指定
数値の加減算、文字列の連結も組み込み済み
型は自動推論。スキーマ定義は不要
bot_variables
6 rows
name
value
scope
updated
welcome_count
3,421
2026-05-03 14:22
last_active_role
moderator
2026-05-03 12:08
greeting_message
"hello"
2026-05-02 09:15
ticket_counter
847
2026-05-03 13:55
warn_points
2
2026-05-03 11:40
auto_role_target
"@member"
2026-04-28 16:30
BotShade のデータベースは Self-hosted Supabase (PostgreSQL) で動いています。Bot ごとに発行された ID と複合プライマリーキーで行を識別し、さらに PostgreSQL の Row Level Security でアクセス制御をデータベース層に強制。アプリケーションコードに頼らず、DB そのものでデータを分離します。
Row Level Security
Bot ごとに発行された ID をセッション変数に紐付け、PostgreSQL の Row Level Security で他の Bot のデータへのアクセスを遮断。アプリケーション側のフィルタリングに頼らず、DB 層でデータを分離します。
00:00 / 06:00 / 12:00 / 18:00 (JST) の 1 日 4 回、自動でスナップショットを取得しています。データ損失時の復旧はこちらで対応します。
自動バックアップ履歴
今日 18:00
今日 12:00
今日 06:00
今日 00:00
昨日 18:00
昨日 12:00
Bot 変数の保管
Bot のフローから、変数の追加・取得・更新を直接行えます。値はサーバー側で保管され、Bot を再起動しても失われません。型は自動推論されるため、スキーマ定義は不要です。
テナント分離
PostgreSQL の RLS と複合プライマリーキーで、Bot ごとに完全分離しています。
6 時間ごとに自動バックアップ
1 日 4 回のスナップショットを自動で取得します。
重要なデータは AES-256-GCM で暗号化
個人情報など特に重要なデータは AES-256-GCM で暗号化してからデータベースに保管します。復号鍵はクラウドのシークレットマネージャに分離して保管しているため、データベースのダンプだけでは復号できない構成です。
PostgreSQL
DB エンジン
Self-hosted Supabase
~30ms
平均クエリ応答
参考値(実測ベース)
4 回 / 日
自動バックアップ
00 / 06 / 12 / 18 (JST)
AES-256-GCM
重要データの暗号化
鍵は別保管