@parksy_bridges_bot 운영자 매뉴얼

버전: v2.4 | 최종 갱신: 2026-03-18

대상: 박씨 (ADMIN) 전용


시스템 구성 한눈에

텔레그램 메시지/파일
        ↓
@parksy_bridges_bot (bot.py)
        ↓
┌──────────────────────────────────────────┐
│  Track A: 파일 드랍                       │
│    오디오/MIDI → _run_runner()            │
│                                          │
│  Track B: YouTube URL (텍스트 감지)       │
│    URL 포함 텍스트 → _run_runner()        │
│                                          │
│  텍스트 (일반) → _run_claude()            │
└──────────────────────────────────────────┘
        ↓
runner.py 파이프라인 (L0~L7)
        ↓
품질 채점 (score_engine) → 90점 미만이면 경고
        ↓
M4A 출력 → 텔레그램 전송 → /approve → YouTube 업로드

파일 경로 전체

항목경로
**bot.py**`/mnt/d/PARKSY/parksy-audio/local-agent/bot.py`
**runner.py**`/mnt/d/tmp/runner.py`
**M4A 출력**`/mnt/d/PARKSY/parksy-audio/local-agent/outputs/`
**작업 디렉토리**`/mnt/d/PARKSY/parksy-audio/local-agent/outputs/work/`
**봇 로그**`/mnt/d/PARKSY/parksy-audio/local-agent/bot.log`
**최적 설정**`/mnt/d/PARKSY/parksy-audio/local-agent/optimal_config.json`
**텔레그램 설정**`/mnt/d/PARKSY/parksy-audio/local-agent/telegram_config.json`
**upload.cjs**`/home/dtsli/dtslib-papyrus/tools/youtube/upload.cjs`
**YouTube 토큰**`/home/dtsli/dtslib-papyrus/tools/youtube/accounts/`
**upload spec 디렉토리**`/home/dtsli/dtslib-papyrus/tools/youtube/uploads/`

봇 기동 / 종료 / 재시작

tmux 세션 확인

tmux list-sessions
세션역할
`tg-audio`@parksy_bridges_bot
`tg-image`@parksy_bridge_bot (이미지 봇)
`claude-main`Claude Code 메인
`watchdog`감시 프로세스

봇 재시작

tmux send-keys -t tg-audio "C-c" Enter
sleep 2
tmux send-keys -t tg-audio "python3 /mnt/d/PARKSY/parksy-audio/local-agent/bot.py" Enter

봇 로그 실시간 확인

tail -f /mnt/d/PARKSY/parksy-audio/local-agent/bot.log

봇 상태 확인

tmux capture-pane -t tg-audio -p | tail -20

권한 관리

구조

ADMIN      — 전체 명령어 + 파일 드랍 + YouTube URL
SLOT (3명) — 파일 드랍만
기타       — 접근 불가

설정 파일: /mnt/d/PARKSY/parksy-audio/local-agent/telegram_config.json

슬롯 추가/제거

/addslot 123456789 홍길동
/rmslot 123456789
/slots

상대방 ID 확인: @userinfobot/start 전송


명령어 전체 목록

명령어함수설명
`/start``cmd_start()`봇 소개 + 명령어 목록
`/status``cmd_status()`작업 중 여부, pending 파일, 슬롯 상태
`/approve``cmd_approve()`마지막 결과물 YouTube 업로드
`/upload``cmd_upload()``/approve`와 동일
`/stop``cmd_stop()`진행 중 작업 중단
`/new``cmd_new()`Claude 세션 초기화
`/render [설명]``cmd_render()`Claude에게 렌더링 지시
`/queue``cmd_queue()`큐 상태 확인 (Claude)
`/score [설명]``cmd_score()`악보 처리 상태 (Claude)
`/slots``cmd_slots()`슬롯 목록
`/addslot ID 이름``cmd_addslot()`슬롯 추가
`/rmslot ID``cmd_rmslot()`슬롯 제거

파이프라인 라우팅 구조

Track A — 파일 드랍

handle_audio() / handle_document()_run_runner()

지원 확장자: .wav .mp3 .m4a .flac .ogg .mid .midi

Track B — YouTube URL (v2.4 신규)

handle_text()_extract_yt_url()_run_runner()

# handle_text() YouTube 감지 로직
yt_url = _extract_yt_url(text)      # URL 추출
caption = text.replace(yt_url, '')  # URL 제외 나머지 = 캡션
await _run_runner(bot, chat_id, yt_url, caption)

감지되는 URL 패턴: