Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
53 changes: 0 additions & 53 deletions CLAUDE.md

This file was deleted.

1 change: 1 addition & 0 deletions CLAUDE.md
55 changes: 54 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
# Discord Bots
# Discord-bots

Discord (など) で定期実行などされるBotのmonorepo。

## Bot 一覧

- bots/auto-moderator: 運営タスクリマインド (毎日)
- bots/gsc-report: Google の検索パフォーマンス通知 (毎週)
- bots/asakatsu-bot: 朝活確認 (毎日)
- bots/joji-bot: Youtube から RSS で最新動画取得 (毎日)

詳細は ./rollcron.yaml で。

## Bot を追加する

Expand Down Expand Up @@ -45,3 +56,45 @@ schedule の書き方:
```

SOPS を使う場合は [docs/sops.md](docs/sops.md) を参照。

## 機密情報

### 配置・権限

sops を使う場合:

- SOPS ファイル: `bots/BOT/sops.env`
- 暗号化ルール: `./.sops.yaml`

ローカル,デプロイ読み取りチェーン: `run.sh` -> `sops exec-env` -> `bots/BOT/sops.env` + (`.age-key` | `~/.config/sops/age/keys.txt`)

sops を使わない場合:

- ローカル読み取りチェーン: `run.sh` -> `bots/BOT/.env`
- デプロイ読み取りチェーン: `rollcron.yaml` -> `~/run/discord-bots/BOT/env` (サーバーに `bots/BOT/.env` は存在しないので二重読みはない)

詳細は [docs/sops.md](docs/sops.md) を参照。

## ファイル・インフラ配置 (.git 外)

### ローカルファイル配置

- `.age-key` - ローカル復号用

### coolify.utcode.net

- `/home/deploy/.config/sops/age/keys.txt` - デプロイ時復号用

## コマンド

```bash
eval "$(direnv export bash)" && COMMAND
sops exec-env path/to/sops.env 'echo success!' # sops 鍵検証
ssh USER@coolify.utcode.net "sudo -u deploy bash -c 'COMMAND'" # デプロイ先で操作
```

## AIエージェント向けルール

このセクションはAIコーディングエージェント (Claude Code, Codex 等) 向け。

- `.env`、`.age-key`、`sops -d` の出力、サーバ上の機密ファイルをコンテキストに入れないこと。確認が必要な場合は `cat .env | cut -d= -f1`、ハッシュ、`wc`、コマンド直接実行など値が露出しない方法を使う。