- X 봇 서비스 추가 (x-bot.js)
- Nitter를 통한 @realfromis_9 트윗 수집
- 트윗을 일정으로 자동 저장 (카테고리 12)
- 관리 채널 외 유튜브 링크 감지 시 별도 일정 추가
- 1분 간격 동기화 지원
- DB 스키마 변경
- bots.type enum 수정 (vlive, weverse 제거, x 추가)
- bot_x_config 테이블 추가
- 봇 스케줄러 수정 (youtube-scheduler.js)
- 봇 타입별 동기화 함수 분기 (syncBot)
- X 봇 지원 추가
- 관리자 페이지 개선 (AdminScheduleBots.jsx)
- 봇 타입별 아이콘 표시 (YouTube/X)
- X 아이콘 SVG 컴포넌트 추가
- last_added_count 로직 수정
- 추가 항목 없으면 이전 값 유지 (0으로 초기화 방지)
- 기존 X 일정에서 유튜브 영상 추출 스크립트 추가
문제: 일정 관리 페이지에서 날짜 선택 후 홈으로 갔다왔을 때
오늘 날짜로 초기화가 안됨
해결:
- useScheduleStore에 preserveState 플래그 추가
- AdminSchedule에서 preserveState가 false면 오늘 날짜로 초기화
- AdminScheduleForm, AdminScheduleBots에서 일정 관리로 돌아갈 때
preserveState를 true로 설정하여 상태 유지
- api/ 디렉토리 구조 생성
- index.js: 공통 fetch 래퍼
- schedules.js, albums.js, members.js: 공개 API
- admin/: 어드민 API (bots, albums, categories, members, schedules)
- Schedule.jsx: API 모듈 적용
- AdminScheduleBots.jsx: API 모듈 적용
- RSS 방식에서 YouTube API 방식으로 변경 (최근 10개 영상 조회)
- rss_url 컬럼 삭제
- Google Cloud Webhook으로 할당량 경고 수신
- 95% 도달 시 봇 자동 중지
- LA 시간 자정(할당량 리셋)에 봇 자동 재시작
- 봇 관리 페이지에 경고 배너 표시
- 봇 스케줄러: 서버 시작 시 자동 초기화, 10초 간격 상태 동기화
- DB 리팩토링: bots 테이블에서 YouTube 컬럼 분리, bot_youtube_config 활용
- 봇별 커스텀 설정: BOT_CUSTOM_CONFIG 상수로 코드 내 관리
- 공개/관리자 일정 목록에 멤버 태그 표시 (5명 이상이면 '프로미스나인')
- 일정 목록 글씨 크기 증가 및 UI 개선
- source_name 관리자 일정에 뱃지로 표시
- 봇 시작/정지 토스트에 봇 이름 포함
- YouTube 일정 봇 서비스 추가 (youtube-bot.js, youtube-scheduler.js)
- 공개 일정 API 라우터 추가 (schedules.js)
- 관리자 일정 봇 관리 페이지 추가 (AdminScheduleBots.jsx)
- 백엔드 의존성 업데이트