Add automatic Threads link replies and sunrise preview card
This commit is contained in:
@@ -135,3 +135,32 @@ pm2 save # 변경된 목록 저장
|
||||
촬영 성공 시 별도 `YYYY-MM-DD.capture.json`을 저장합니다. 토큰 갱신·공개 URL 확인·컨테이너 준비가 실패하면 워커가 60초 뒤 재시도합니다(하루 작업 최대 5회 시도). 같은 날 재실행은 저장된 일출 사진을 재사용하므로 게시 준비 중 오류가 나도 촬영을 잃지 않습니다. 일출+5분의 촬영 시간을 놓쳤다면 그날은 건너뜁니다. 다음 날짜에 전날 사진을 자동 게시하지 않습니다.
|
||||
|
||||
정지: `pm2 stop sunrise-threads`. 게시 결과가 불명확한 작업은 재실행 전 계정과 기록을 확인하세요.
|
||||
# 본문과 링크 댓글
|
||||
|
||||
`.threads-captions.json`의 `template`은 사진 본문, `replyTemplate`은 자동 댓글입니다.
|
||||
두 항목 모두 문자열 배열이며 기존 날짜·날씨·`{url}` 치환자를 사용할 수 있습니다.
|
||||
기본 본문에는 링크가 없고 댓글에는 사이트 링크가 들어갑니다.
|
||||
기존 파일에 `replyTemplate`이 없으면 이전 동작을 유지하므로 새 샘플을 복사하거나 해당 항목을 추가하세요.
|
||||
|
||||
```sh
|
||||
cd /opt/sunrise
|
||||
git pull --ff-only
|
||||
cp .threads-captions.sample.json .threads-captions.json
|
||||
npm run threads:captions
|
||||
npm run build
|
||||
pm2 restart sunrise-threads
|
||||
```
|
||||
|
||||
복사하면 사용자 지정 문구도 샘플로 교체됩니다. 이후 문구만 편집할 때는 빌드나 재시작이 필요 없습니다.
|
||||
사이트 서버가 HTML을 메모리에 보관한다면 사이트 프로세스도 재시작하세요.
|
||||
|
||||
본문 게시 성공 → 촬영 이미지 두 장 삭제 → 링크 댓글 게시 순서로 실행됩니다.
|
||||
댓글은 `reply_to_id`와 `link_attachment`를 사용합니다. 링크 대상은 설정의 `siteUrl` origin입니다.
|
||||
사이트 HTML의 Open Graph 메타데이터와 `/og-sunrise.jpg`가 미리보기 카드에 사용됩니다.
|
||||
이 대표 이미지는 사이트의 정적 자산이며 매일 생성·삭제하는 촬영 사진과 별개입니다.
|
||||
카드 표시 여부와 캐시 갱신 시점은 Threads가 결정합니다.
|
||||
|
||||
댓글 문구는 본문 게시 기록에 저장됩니다. 댓글 생성 실패는 다음 작업 실행 때 재시도하며
|
||||
본문을 다시 게시하지 않습니다. 과거 기록에 댓글 문구가 없으면 소급 게시하지 않습니다.
|
||||
별도 `<본문기록>.reply.json`에 `publishing` 상태가 남으면 중복 방지를 위해 자동 재게시하지 않습니다.
|
||||
로그와 실제 Threads 댓글을 확인한 뒤 복구해야 합니다. `published` 상태에는 댓글 ID가 기록됩니다.
|
||||
|
||||
Reference in New Issue
Block a user