UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗맛집·여행지를 1시간에 하나씩 인스타그램에 자동 포스팅하는 봇.
어디야)를 남기면 자동으로 DM으로 장소를 알려줌📷 사진·정보 출처: 한국관광공사 TourAPI⚠️ 인스타그램/네이버에서 남의 사진을 긁어 재업로드하는 것은 출처를 적어도 저작권 침해 + 플랫폼 약관 위반(계정 정지 사유) 입니다. 이 봇은 그래서 공공데이터(관광공사)를 사용합니다.
[cron-job.org 매시 정각]
→ GET /api/cron/post
→ TourAPI에서 새 장소 선정 (중복 제외, 하루 한도 체크)
→ Gemini(또는 내장 템플릿)가 캡션+해시태그 생성 (상호명 숨김)
→ Instagram Graph API로 발행
→ Turso에 media_id ↔ 장소 매핑 저장
[누군가 댓글 작성]
→ Meta 웹훅 → POST /api/webhook/instagram
→ 키워드("어디야") 포함 여부 확인
→ Private Reply API로 장소 정보 DM 발송 + 댓글 답글
TOUR_API_KEY에instagram_basic, instagram_content_publishinstagram_manage_comments, instagram_manage_messagespages_show_list, pages_read_engagementIG_ACCESS_TOKENGET /me/accounts → 페이지 ID → GET /{page-id}?fields=instagram_business_account → 숫자 ID를 IG_USER_ID에META_APP_SECRET본인 계정만 쓰면 앱을 개발 모드로 두고 본인을 관리자/테스터로 등록하면 됨 (앱 심사 불필요). 토큰은 60일마다 갱신 필요.
GEMINI_API_KEY에 입력 (무료 등급: 하루 1,500회 — 우리는 24회/일)turso db create insta-spot-bot
turso db show insta-spot-bot --url # → TURSO_DATABASE_URL
turso db tokens create insta-spot-bot # → TURSO_AUTH_TOKEN
테이블은 첫 실행 시 자동 생성됩니다.
npm i -g vercel
vercel --prod
Vercel 대시보드에서 .env.example의 모든 변수를 환경변수로 등록.
https://<배포주소>/api/webhook/instagram.env의 WEBHOOK_VERIFY_TOKEN과 같은 값 입력Vercel Hobby 플랜의 크론은 하루 1회 제한이라 외부 크론을 사용:
https://<배포주소>/api/cron/post, 매시 정각Authorization: Bearer <CRON_SECRET>IG_ACCESS_TOKEN이 비어 있으면 봇은 실제 인스타그램 업로드 없이 캡션만 생성해
대시보드에 보여줍니다. Meta 계정 준비 전에 결과물을 미리 확인하는 용도이며,
토큰을 채우면 자동으로 실제 발행 모드로 전환됩니다. DB도 로컬에선 local.db
파일로 자동 폴백돼서 Turso 없이도 테스트할 수 있습니다.
npm install
cp .env.example .env # 값 채우기 (TourAPI 키만 있어도 미리보기 동작)
npm run dev # http://localhost:3200
# 수동으로 미리보기 1건 생성:
curl -H "Authorization: Bearer <CRON_SECRET>" http://localhost:3200/api/cron/post
자세한 배포 절차는 DEPLOY.md 참고.
| 환경변수 | 기본값 | 설명 |
|---|---|---|
DM_KEYWORD | 어디야 | 댓글에 이 단어가 있으면 DM 발송 |
POSTS_PER_DAY_LIMIT | 24 | 하루 최대 발행 수 (API 한도 50/일) |
GEMINI_API_KEY | (없음) | 있으면 Gemini로 캡션 생성, 없으면 내장 템플릿 |
GEMINI_MODEL | gemini-2.5-flash | Gemini 무료 등급 모델 |
POSTS_PER_DAY_LIMIT=6~8 정도로 시작해서 서서히 올리는 걸 권장.