5초 결론: "위험한 이야기일수록 나가노 선생님이 정말로 빨리 그린다"까지는 증명할 수 없다. 하지만 불길한 장편이나 클라이맥스에서 X(옛 트위터) 공개 간격이 갑자기 좁아진 시기는 실제로 있었다. 그렇다면 게시 속도를 시계열로 지켜보다가 과거보다 비정상적으로 빨라졌을 때만 '치이카와 위험 지수'를 알려 주는 비공식 BOT은 만들 수 있다. 게다가 2026년 9월 기준 X API는 쓴 만큼 내는 종량제라서, 계정 하나만 감시한다면 작게 시작할 수 있다.
🍣. 다음 날에도 🍣. 그다음 날에도 업데이트.
이쯤 되면 독자 머릿속에서 울리는 경보는 거의 똑같다.
"나가노 선생님, 요즘 업데이트 좀 빠르지 않아?"
그리고 치이카와에서 업데이트가 빠른 것 같을 때, 이상하게 다음에 떠오르는 감상은 "누가 좀 도망치는 게 좋지 않을까?"다.
이 글에서는 이 엉성하지만 이상하게 버리기 아까운 독자의 감을 숫자로 바꿔 본다. 나아가 PC에 파이썬조차 없는 상태에서 시작해 과거 데이터 분석, 드라이런(실제로 올리지 않는 시험 실행), X 자동 게시, GitHub Actions를 이용한 24시간 운영까지 이어 간다. ZIP 파일 안을 해독할 필요는 없다. 글 맨 끝의 파일 7개를 그대로 복사해서 붙여 넣으면 된다.
정말로 "위험할 때일수록 업데이트가 빠를까?"
공개 이력을 보면 그렇게 느낄 만한 이유는 꽤 있다. 2023년 11월 사이렌 편(세이렌 편) 막바지에는 공개 기록상 11월 59일 5일 연속, 1318일 6일 연속, 21~26일 6일 연속으로 게시물이 올라왔다. 11월 26일에는 같은 날 여러 건이 올라온 적도 있다.
2024년 3월 패러렐 월드 초반도 3월 1일부터 8일까지 매일 게시됐고, 8일에는 2건이다.
다만 여기서 말할 수 있는 것은 "공개 속도가 빨라졌다"까지다. 작가가 그날 그렸다는 보장은 없다. 미리 그려 둔 것을 연달아 올렸을 수도 있고, 장편이라서 공개가 한꺼번에 몰렸을 뿐일 수도 있다.
그래서 BOT이 던지는 질문은 좁게 잡는다.
위험한 전개 자체를 예언하는 게 아니라, 지금의 공개 속도가 치이카와 자신의 과거와 비교해 얼마나 이상한지를 감지한다.
연구소가 아니다. 치이카와 경보기다.
위험 지수는 무엇을 볼까?
기본은 딱 세 가지다.
- 최근 3일간의 게시물 수
- 최근 7일간의 게시물 수
- 며칠 연속으로 게시했는지
각각을 과거 전체 기간의 분포와 비교해서 "역사상 상위 몇 퍼센트쯤인지"를 백분위로 만든다. 초기 가중치는 3일 게시물 수 35%, 7일 게시물 수 45%, 연속 게시 일수 20%다. 여기에 🍣🍣처럼 같은 짧은 본문이나 이모지가 연달아 올라오면, 추가 1회당 +5점, 최대 +15점을 장난 보정으로 더한다.
이 +5에 학술적 근거는 없다. 완전히 "초밥이 이어지면 좀 무섭다"를 구현한 것뿐이다.
처음 표시 구간은 다음과 같다.
- 0~54: 🟢 평소
- 55~69: 🟡 가속
- 70~84: 🟠 경계
- 85~100: 🚨 꽤 빠름
X API는 얼마나 들까?
2026년 9월 3일 시점의 공식 요금표(Pricing)에서 주요 현행 단가는 아래와 같다.
| 작업 | 현행 단가 |
|---|---|
| Post Read | $0.005 / 가져온 게시물 |
| Counts: Recent | $0.005 / 요청 |
| Counts: All | $0.010 / 요청 |
| Content Create | $0.015 / 게시물 |
| Content Create (URL 포함) | $0.200 / 게시물 |
과거 분석은 수천 건의 본문을 전부 읽지 않고, Post Counts로 시간대별 건수만 가져온다. 전체 아카이브 Counts는 31일 단위로 페이지를 넘기기 때문에, 2020년 1월 1일부터 2026년 9월 3일까지 약 2,437일이면 약 79번 요청, 약 $0.79가 기준이 된다. "한 번에 1센트니까 역사 전체가 1센트"가 아니다. 여기가 작은 함정이다.
실시간 감시는 Recent Search에 since_id를 붙여서, 지난번보다 새로운 게시물만 읽는다. 새 글 30건이면 읽기 비용은 약 $0.15다. URL 없는 경보를 한 달에 10번 내보내면 쓰기 비용은 약 $0.15. 반대로 URL이 들어간 게시물은 현행 $0.200이라서, 초기 설정은 INCLUDE_SOURCE_URL=0으로 해 뒀다. 친절한 마음에 URL을 매번 붙이면 요금만 갑자기 최종 보스가 된다.
가격은 바뀔 수 있다. 실제로 운영하기 전에 공식 Pricing을 다시 확인하고, Developer Console에서 Spending limit(지출 한도)을 설정해 두자.
PC가 완전히 없다면 무엇부터 시작할까?
필요한 것은 Windows 또는 macOS PC, X 계정, X Developer App, 24시간 돌릴 거라면 GitHub 계정, 그리고 파이썬이다. 로컬에 Git이 깔려 있을 필요는 없다.
Windows
- 파이썬 공식 사이트에서 파이썬을 설치한다. 요즘 Windows에서는 Python Install Manager도 쓸 수 있다.
- PowerShell을 연다.
py --version을 입력해 파이썬이 실행되는지 확인한다.chiikawa-danger-bot폴더를 만든다.- 메모장이나 VS Code에서 글 끝의 파일 7개를 이름 그대로 저장한다. 메모장이라면
bot.py.txt로 저장되지 않게 조심한다.
macOS
- 파이썬 공식 macOS 버전을 설치한다.
- 터미널을 연다.
python3 --version으로 확인한다.chiikawa-danger-bot폴더를 만든다.- VS Code, 일반 텍스트 모드의 텍스트 편집기, 또는
nano로 파일 7개를 저장한다.
X Developer는 어떻게 설정할까?
console.x.com에 X 계정으로 들어가 Developer Agreement(개발자 약관)를 확인하고 App을 만든다. App을 만들 때 나오는 인증 정보는 다시 보여 주지 않을 수 있으니 안전한 곳에 저장해 둔다.
읽기에는 Bearer Token을 쓴다. BOT이 직접 게시도 하기 때문에, 이 구현에서는 OAuth 1.0a User Context도 함께 쓴다. App permissions는 Read and write로 설정한다.
필요한 값은 다섯 가지다.
X_BEARER_TOKENX_API_KEYX_API_SECRETX_ACCESS_TOKENX_ACCESS_TOKEN_SECRET
Read only에서 Read and write로 바꿨다면, 변경한 뒤에 Access Token / Secret을 다시 발급받아야 한다. 권한을 바꾸기 전의 토큰을 쓰면 403 오류가 나는 원인이 된다.
진짜 값은 .env와 GitHub Actions Secrets에만 넣는다. 글, 공개 GitHub, 스크린샷에는 절대 붙여 넣지 말자.
과거 데이터 분석은 어떻게 실행할까?
맨 끝의 파일 7개를 저장했다면, Windows에서는 PowerShell로 다음을 실행한다.
py -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
mkdir data
copy danger_periods.example.csv data\danger_periods.csv
copy .env.example .env
notepad .env
macOS에서는 다음과 같다.
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
mkdir -p data
cp danger_periods.example.csv data/danger_periods.csv
cp .env.example .env
nano .env
.env의 X_BEARER_TOKEN= 오른쪽에 진짜 Bearer Token을 붙여 넣는다. 그다음 Windows라면
.\.venv\Scripts\python.exe history_analysis.py
macOS라면
./.venv/bin/python history_analysis.py
를 실행한다. page=1...처럼 진행되다가 data/history_features.csv가 만들어지면 성공이다. 이 CSV가 위험 지수의 역사적 기준이 된다.
danger_periods.example.csv에는 가설을 확인해 보려고 사이렌 편 막바지와 패러렐 월드 초반을 넣어 두었다. 이것은 "위험의 정답 라벨"이 아니라, 위험한 시기와 평소 시기에 지수가 정말 다른지 보기 위한 수동 라벨이다.
갑자기 X에 올라가 버리지 않게 하려면?
.env에 나머지 인증 정보 4개를 넣어도, 처음에는 BOT_DRY_RUN=1 그대로 둔다.
Windows:
.\.venv\Scripts\python.exe bot.py
macOS:
./.venv/bin/python bot.py
처음에는 최근 약 7일치를 읽고 data/state.json을 만들 뿐, 절대로 게시하지 않는다. 예를 들어 화면에는 이렇게 나온다.
치이카와 위험 지수 82/100 🟠 경계
최근 3일 3게시 / 7일 6게시 / 연속 게시 3일
같은 마커 「🍣」 2연속 +5
※비공식. 업데이트 빈도로 만든 장난 지표입니다.
즉 나가노 선생님이 연달아 올린다 → 파이썬 "시계열 이상입니다" → 독자 "도망쳐" 라는, 쓸데없이 공학적인 치이카와 독서법이 완성된다.
GitHub Actions로 24시간 돌리려면?
브라우저에서 새 GitHub Repository를 만들고 다음을 업로드한다.
bot.pyhistory_analysis.pyrequirements.txt.env.example.gitignoredata/history_features.csv- 필요하면
data/danger_periods.csv
.env는 절대 업로드하지 않는다.
Repository의 Settings → Secrets and variables → Actions → New repository secret에서 인증 정보 5개를 같은 이름으로 등록한다.
그다음 Add file → Create new file로 .github/workflows/chiikawa-danger.yml을 만들고, 글 끝의 YAML을 붙여 넣는다. 초기값은 BOT_DRY_RUN: "1"이다. Actions 화면에서 수동으로 실행해 정상 종료되는지 확인한다.
실제 운영으로 바꿀 때만 BOT_DRY_RUN: "0"으로 한다. POST_MODE: "alert"라면 위험 구간이 한 단계 올라갔을 때만 게시한다. every는 새 글이 올라올 때마다 게시하므로 요금도, 타임라인에 주는 부담도 늘어난다.
자동 BOT으로서 무엇을 지켜야 할까?
X의 Automation Rules에서는 스팸이나 중복성 자동화 등을 피해야 한다. 자동화 계정에는 Automated account label(자동화 계정 표시)을 달아서, 사람이 관리하는 계정과의 관계를 밝힐 수 있다.
프로필에는 "비공식 팬 BOT", "업데이트 빈도로 만든 장난 지표"라고 분명히 적고, 공식 계정을 흉내 내지 않는다. 이 예제는 자동 좋아요, 자동 팔로우, 대량 답글을 하지 않는다.
또 '위험 지수'는 작가의 건강, 실제 작화 속도, 노동 상황, 앞으로의 전개를 단정하는 것이 아니다. 관찰하는 것은 공개된 게시물의 시각 패턴뿐이다.
더 마개조하고 싶다면?
요일 보정, 공지와 이야기 회차의 분류, 이미지 특징, 사람이 만든 라벨을 이용한 학습, 경보 뒤 며칠 안에 불안한 회차가 왔는지 보는 백테스트(과거 데이터로 검증하는 것), "사이렌 막바지형", "패러렐형" 같은 비슷한 시기 검색도 가능하다. 다만 가져오는 데이터 양과 요금은 늘어난다.
처음에는 게시 시각만으로 충분하다. 장난으로 만든 BOT인데 시계열 이상 감지가 되어 버린 시점에서, 이미 충분히 이상하다.
결국 무엇을 예측하는 걸까?
"다음에 누가 험한 꼴을 당할까"가 아니다.
지금의 업데이트 속도가 과거의 치이카와와 비교해 얼마나 이상한가.
그게 전부다.
하지만 사이렌 편 막바지와 패러렐 월드 초반에 정말로 게시가 몰려 있었던 이상, "또 빨라지기 시작했는데"라는 독자의 감을 자동화하기에는 충분히 재미있다.
지수 85점.
기계 "역사적 상위권입니다"
독자 "누가 좀 도망쳐"
