Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 1.99 KB

DEV.md

File metadata and controls

68 lines (50 loc) · 1.99 KB

BotOS — ローカル開発

リポジトリ構成

BotOS/
├── core/botos_core/     Discord 本体・プラグイン実行(discord.py)
├── api/botos_api/       Web 向け API(FastAPI)
├── web/                 管理 UI(Next.js・骨組みのみ)
├── plugins/standard/    同梱プラグイン例
├── docs/                仕様
└── scripts/             起動用ショートカット

環境変数

.env.example を .env にコピーして編集する。

変数 用途
DISCORD_BOT_TOKEN Core 起動に必須
DATABASE_URL API の DB(デフォルト SQLite)
JWT_SECRET API セッション(本番は必ず差し替え)
NEXT_PUBLIC_API_URL Web から API への URL

API 単体

source .venv/bin/activate
make api

Core 単体

Bot を Discord に接続する。トークン未設定の場合は即終了し、メッセージを表示する。

make core

Web UI

軽量ダッシュボード(web/dashboard/)は API と同じポートで配信される。

make api
# http://localhost:8000/ — Discord OAuth → ギルド一覧 → Ping 導入

Next.js コンソール(本格的な管理 UI):

make api   # 別ターミナル
cd web && npm run dev
# http://localhost:3000/ — NEXT_PUBLIC_API_URL で API に接続(next.config rewrites)
# .env の BOTOS_FRONTEND_URL=http://localhost:3000 で OAuth コールバック
  1. api/botos_api/routes/guilds.py — ギルド・プラグイン CRUD
  2. core/botos_core/guild_sync.py — bot.tree.sync(guild=...)
  3. core/botos_core/sandbox/runner.py — ユーザーコード実行
  4. core/botos_core/plugin_manager.py — .botos.json の読み込み

仕様の正本は docs/architecture.md と docs/plugin-draft.md(統合作業中の項目は Issue 参照)。