본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 18. 23:16

비엔지니어용 note 매일 자동 포스팅 시스템 구축 방법: Claude API와 Discord 활용

요약

Claude API와 Discord를 활용하여 매일 자동으로 note 포스팅을 수행하는 자동화 시스템 구축 방법을 소개합니다. AI가 초안을 작성하되 인간이 Discord 이모지로 최종 승인하는 '80:20 법칙'을 통해 콘텐츠 품질 리스크를 최소화하는 것이 핵심입니다.

핵심 포인트

  • AI의 완전 자동화 대신 인간의 검수(Emoji Reaction)를 결합하여 콘텐츠 품질 유지
  • Python, Claude API, Discord API를 연동한 4단계 컴포넌트 구조 설계
  • 과거 데이터를 분석하여 테마를 제안하고, 승인 시 본문을 생성하는 워크플로우
  • Discord 이모지 반응 감지 및 API 연동 시 발생할 수 있는 예외 처리 방법 포함

Discord의 이모지 반응(Emoji Reaction)을 승인 트리거로 사용하여, 매일의 note 게시를 자동화하는 시스템을 Python × Claude API로 구현할 수 있습니다. 소요 시간은 1~2시간입니다. 엔지니어가 아니더라도 지시를 내리면 Claude Code가 기본 구조를 생성해 줍니다.

매일 note 게시를 완전 자동화하고 싶다는 니즈는 자주 있습니다. 하지만 구현 관점에서 보면 "AI에게 완전히 맡기는 것은 품질 리스크가 있다"는 문제가 있습니다.

생성형 AI (Generative AI)는 우수하지만, 매일 같은 프롬프트 (Prompt)로 출력하면 다음과 같은 문제가 발생합니다:

  • 톤(Tone)의 미묘한 흔들림
  • 소재의 중복 및 고갈
  • 업계 트렌드 반영 누락

이러한 차이가 한 달에 몇 번씩 발생하며, 게시 후 수정 및 삭제 비용이 발생합니다.

최적의 운용은 "AI가 80%를 수행하고, 인간이 20%를 확인하는 것"입니다. 매일 아침 Discord에서 생성된 기사를 육안으로 확인하고, 이모지(✅ 또는 ❌)를 클릭하는 것만으로 브랜드 품질을 유지하며 게시를 자동화할 수 있습니다.

이 시스템은 4개의 컴포넌트 (Component)로 구성됩니다.

[정기 실행] 매일 아침 8시
↓
[1] 토픽 제안 AI (과거 기사를 분석하여 테마 3안 제시)
...

각 단계는 Python 스크립트 (Script)와 Discord API, note API로 연동됩니다.

필요한 환경 변수 (Environment Variable)를 .env에 설정합니다.

# .env
DISCORD_BOT_TOKEN=your_bot_token_here
DISCORD_CHANNEL_ID=your_channel_id
...

bot token은 Discord Developer Portal에서 취득합니다. 서버 내에서 bot에게 "메시지 전송", "반응 읽기" 권한을 부여해 주세요.

매일 아침, 과거의 note 제목을 분석하여 테마 안을 생성합니다.

import os
import csv
from datetime import datetime
...

Discord에서 토픽 안(案)에 대해 반응(예: 📝)이 달리면, 본문을 생성합니다.

from anthropic import Anthropic
import json
def generate_article(topic: str, past_articles: list[dict]) -> str:
...

Discord의 이모지 반응(✅)을 감시하여, note에 자동 게시합니다.

import discord
from discord.ext import commands
import aiohttp
...

각 단계에서 예외 (Exception)가 발생하면 자동으로 통지합니다.

async def send_error_notification(error_type: str, detail: str):
    """#에러 통지 채널에 에러를 리포트"""
    error_channel = bot.get_channel(int(os.getenv('ERROR_CHANNEL_ID')))
    ...

원인: emoji의 Unicode 또는 Discord의 캐시 (Cache) 문제.

대처:

# 반응 감지를 디버깅
@commands.Cog.listener()
async def on_reaction_add(self, reaction, user):
    ...

print()로 실제로 들어오는 반응을 확인하고, 조건식에 맞게 수정하세요.

원인: 토큰 (Token)의 유효 기간 만료, 스코프 (Scope) 부족.

대처: note API 문서에서 "게시 작성" 스코프가 포함되어 있는지 확인하세요. 토큰 재발급도 검토해 보시기 바랍니다.

원인: 로컬 환경에서의 스크립트 실행은 PC 종료 시 중단됨.

대처: GitHub Actions, AWS Lambda, Google Cloud Functions 등의 서버리스 (Serverless) 환경에서 "매일 아침 8시 실행"을 설정합니다.

# .github/workflows/schedule.yml
name: Daily Topic Proposal
on:
...

Discord와 Claude API를 조합함으로써, 비엔지니어라도 단계적으로 자동화 시스템을 구축할 수 있습니다.

  • 토픽 제안 (Topic Suggestion): 과거 기사 분석을 통해 매일의 소재 발굴을 자동화
  • 본문 생성 (Content Generation): 문체를 학습한 AI가 기사 작성
  • 인간 승인 (Human Approval): 이모지 클릭 한 번으로 품질 보증
  • 자동 포스팅 (Auto Posting): note API를 통해 확정된 내용을 포스팅

처음에는 "Discord에 기사를 포스팅하는 것"만으로 시작하여, 시스템이 안정된 후에 "자동 포스팅"으로 넘어가는 단계적인 접근 방식이 실패를 줄여줍니다.

이 기사에서는 구현의 핵심 요점만을 소개했습니다. 완전한 스크립트, 프롬프트(Prompt) 전문, 운영 노하우는 아래의 note에서 공개하고 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0