웹사이트 후기/문의 실시간 알림 받기

왜 실시간 알림이 필요한가

홈페이지를 운영하다 보면 새 문의나 후기가 언제 들어왔는지 모르는 경우가 많다. 하루에 한 번 관리자 페이지를 열어보는 게 전부라면, 고객 응대가 늦어지고 기회를 놓칠 수 있다. OpenClaw의 cron 기능과 DB 모니터링을 조합하면 새 후기나 문의가 등록된 즉시 텔레그램으로 알림을 받을 수 있다.

이 가이드에서는 WordPress 기반 홈페이지를 예시로, 새 댓글(후기)이나 Contact Form 7 문의가 등록될 때마다 텔레그램으로 즉시 알림을 보내는 시스템을 구축한다.

준비물

  • OpenClaw 설치 및 실행 중인 환경 (Mac, Linux, NAS 등)
  • 텔레그램 봇 연동 완료
  • WordPress 사이트 (DB 접근 가능)
  • MySQL 접속 정보 (host, user, password, dbname)
  • Python 3 (MySQL 쿼리 실행용)

단계별 실습

1단계: 마지막 확인 시점 추적 파일 만들기

DB를 주기적으로 조회해서 “지난번 이후로 새로 생긴 것”을 찾으려면 마지막 확인 시점을 저장해야 한다. 간단한 JSON 파일을 사용한다.

# 파일 위치 예시
~/.openclaw/workspace/data/alert_state.json

# 초기 내용
{
  "last_comment_id": 0,
  "last_cf7_id": 0
}

2단계: 모니터링 Python 스크립트 작성

새 댓글과 Contact Form 7 제출을 감지하는 스크립트를 작성한다.

#!/usr/bin/env python3
# ~/.openclaw/workspace/scripts/check_new_feedback.py

import json
import subprocess
import sys
from datetime import datetime

STATE_FILE = '/root/.openclaw/workspace/data/alert_state.json'
TELEGRAM_TO = '본인의_텔레그램_ID'

def run_mysql(query):
    cmd = [
        'mysql',
        '-S', '/run/mysqld/mysqld10.sock',
        '-u', 'root',
        '-pPASSWORD',
        'wordpress_db',
        '-e', query,
        '-s', '--skip-column-names'
    ]
    result = subprocess.run(cmd, capture_output=True, text=True)
    return result.stdout.strip()

def send_telegram(message):
    cmd = [
        'openclaw', 'message', 'send',
        '--channel', 'telegram',
        '--to', TELEGRAM_TO,
        '--message', message
    ]
    subprocess.run(cmd)

# 상태 파일 로드
with open(STATE_FILE, 'r') as f:
    state = json.load(f)

# 새 댓글 확인
last_id = state['last_comment_id']
query = (
    "SELECT comment_ID, comment_author, comment_content, comment_post_ID "
    "FROM wp_comments "
    f"WHERE comment_ID > {last_id} AND comment_approved = '1' "
    "ORDER BY comment_ID ASC LIMIT 10"
)
rows = run_mysql(query)
if rows:
    for line in rows.split('\n'):
        parts = line.split('\t')
        if len(parts) >= 4:
            cid, author, content, post_id = parts[0], parts[1], parts[2], parts[3]
            msg = f"[새 댓글] #{cid}\n작성자: {author}\n내용: {content[:100]}\n글 ID: {post_id}"
            send_telegram(msg)
            state['last_comment_id'] = int(cid)

# 상태 저장
with open(STATE_FILE, 'w') as f:
    json.dump(state, f, ensure_ascii=False, indent=2)

print(f"체크 완료: {datetime.now()}")

3단계: 스크립트 실행 권한 설정

chmod +x ~/.openclaw/workspace/scripts/check_new_feedback.py

# 직접 실행 테스트
python3 ~/.openclaw/workspace/scripts/check_new_feedback.py

4단계: OpenClaw cron으로 자동 실행 등록

5분마다 스크립트를 실행하도록 cron을 등록한다.

openclaw cron add \
  --cron '*/5 * * * *' \
  --tz Asia/Seoul \
  --session isolated \
  --agent main \
  --message 'check_new_feedback.py 를 실행하고 결과 반환'

또는 AI 에이전트 없이 직접 system-event 방식으로 실행할 수도 있다.

openclaw cron add \
  --cron '*/5 * * * *' \
  --tz Asia/Seoul \
  --session main \
  --system-event 'check_new_feedback 실행'

5단계: cron 등록 확인 및 관리

openclaw cron list
# 등록된 job 목록 확인

openclaw cron edit [id] --cron '*/10 * * * *'
# 필요 시 주기 변경 (10분마다로 변경 예시)

openclaw cron rm [id]
# 삭제

실제 활용 예시

홈페이지에 새 문의가 등록되면 5분 이내에 이런 메시지가 텔레그램으로 온다.

[새 댓글] #847
작성자: 김민준
내용: 초등 수학 교재 문의드립니다. 3학년 아이가 있는데...
글 ID: 312

관리자 페이지를 열어볼 필요 없이, 폰에서 바로 확인하고 빠르게 답변할 수 있다. 고객 응대 속도가 크게 개선된다.

응용 아이디어

  • Contact Form 7 연동: cf7 제출 데이터가 저장되는 테이블을 추가 모니터링하면 문의 폼도 실시간 알림 가능
  • WooCommerce 주문 알림: wp_posts에서 post_type이 shop_order인 신규 주문 감지
  • 회원가입 알림: wp_users 테이블에서 신규 사용자 감지 후 알림
  • 알림 필터링: 스팸성 댓글은 건너뛰고 approved 상태만 알림 전송
  • Discord 연동: –channel discord 로 변경하면 Discord 서버에도 동일 알림 전송 가능
  • AI 자동 분류: cron –session isolated 로 AI가 문의 내용을 분석해 카테고리별로 분류해주는 것도 가능

원문: 두온교육 AI 블로그

댓글

이 블로그의 인기 게시물

AI 에이전트, 이제 인간을 대체한다 — 2026년 3월 최대 이슈 총정리

2026년 3월 AI 주요 뉴스: 에이전트 로봇 시대 개막과 오픈AI 2100조 투자 선언

Perplexity AI 검색에서 내 브랜드가 인용되는 GEO 콘텐츠 전략 완전 가이드