나는 하루에 $0로 운영되는 AI 기반 뉴스 채널 3개를 만들었다

발행: (2026년 3월 7일 PM 12:58 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

매 30 분마다 세 개의 텔레그램 채널이 최신 뉴스를 업데이트합니다 — 22개의 신뢰할 수 있는 RSS 피드에서 선별된, 깔끔한 속보 스타일로 포맷되고 기사 이미지와 함께 게시됩니다. 전체 파이프라인을 운영하는 비용은 하루에 $0입니다.

GPT API 호출 없음. 클라우드 함수 없음. 월간 SaaS 요금 없음. 단지 파이썬, RSS, 그리고 크론만 사용합니다.

제가 어떻게 구축했는지 소개합니다.

The Architecture

RSS Feeds (22 sources) → Python Script → Telegram Bot API → 3 Channels

                         System Cron (*/30 * * * *)

그게 전부입니다. 데이터베이스가 없습니다. 큐가 없습니다. Lambda가 없습니다. 단일 Python 스크립트가 cron을 통해 30분마다 실행되어 RSS 피드에서 최신 이야기를 가져오고, JSON 파일과 중복을 제거한 뒤, Telegram에 게시합니다.

세 가지 채널

🌍 The Daily Brief — 세계 뉴스

Sources: BBC World, BBC Top Stories, Al Jazeera, NPR World, The Guardian, PBS NewsHour

이들은 무료 RSS 피드를 제공하는 1급 뉴스 조직입니다. BBC는 RSS에 media:thumbnail을 제공하므로 이미지를 무료로 얻을 수 있습니다.

🤖 AI Pulse Daily — 기술 및 AI 뉴스

Sources: TechCrunch, Ars Technica, The Verge, Wired, VentureBeat, MIT Tech Review, Google AI Blog, Hacker News (≥ 100 pts), The Register, Engadget

10개의 소스로부터 한 사이클에 약 97개의 이야기를 얻습니다. 우리는 매 30분마다 상위 3개의 새로운 이야기를 게시합니다.

₿ EZ Market Alpha — 암호화폐 시장

Sources: CoinDesk, CoinTelegraph, Decrypt, The Block, Bitcoin Magazine, CryptoSlate

또한 실시간 가격, 대규모 거래 알림, AI‑기반 감성 분석을 제공하는 별도 봇이 있습니다.

코드 (단순화)

핵심은 약 200 줄의 파이썬이며, 아래는 주요 함수들입니다.

def fetch_rss(url):
    """Parse RSS/Atom feed, extract title, URL, description, and image"""
    resp = urllib.request.urlopen(url, timeout=10)
    root = ET.fromstring(resp.read())
    stories = []
    for item in root.findall('.//item'):
        image = None
        # Try media:thumbnail (BBC), media:content, enclosure
        thumb = item.find('{http://search.yahoo.com/mrss/}thumbnail')
        if thumb is not None:
            image = thumb.get('url')
        stories.append({
            'title': item.findtext('title'),
            'url':   item.findtext('link'),
            'image': image
        })
    return stories

def extract_og_image(url):
    """Fallback: grab og:image from the article page (~0.1 s)"""
    html = urllib.request.urlopen(url).read(50000).decode()
    match = re.search(r'og:image.*?content="(https?://[^"]+)"', html)
    return match.group(1) if match else None

이미지 전략

  • RSS media:thumbnail – BBC, Ars Technica, Wired는 피드에 이미지를 직접 제공합니다.
  • og:image fallback – 이미지가 없는 피드의 경우, 기사 첫 50 KB를 가져와 Open Graph 이미지 태그를 추출합니다 (≈ 0.1 초).
  • Telegram sendPhoto – 이미지가 있으면 캡션과 함께 사진으로 게시하고, 없으면 텍스트만 게시합니다.

Deduplication

def story_hash(title):
    clean = re.sub(r'[^a-z0-9 ]', '', title.lower())
    return hashlib.md5(clean[:80].encode()).hexdigest()[:12]

각 제목의 처음 80 문자를 해시하고, 해시값을 JSON 파일에 저장합니다. 7 일보다 오래된 항목은 자동으로 삭제됩니다.

속도 제한

  • 채널당 실행당 최대 3개의 게시물 (전체 채널 합계 9개)
  • 게시물 간 2초 지연
    - 30분마다 실행

활성 뉴스 시간 동안 채널당 시간당 약 6개의 스토리입니다.

왜 RSS를 AI 요약 대신 사용하는가?

원래는 LLM 요약을 사용해 구축했었습니다 — 기사들을 Ollama에 넣어 요약을 생성하고, 이를 게시했습니다. 작동은 했지만:

  • 헤드라인 자체가 이미 요약이다. Reuters, BBC, AP의 제목은 그 자체가 뉴스입니다. AI 요약을 추가하는 것은 중복이었습니다.
  • 토큰 비용이 누적된다. 로컬 모델을 사용하더라도 30분마다 200개 이상의 기사를 처리하면 연산 비용이 크게 늘어납니다.
  • 지연 시간. RSS → 포맷 → 게시까지 < 5 초가 걸립니다. LLM 요약을 추가하면 30–60 초가 추가됩니다.
  • 신뢰성. 움직이는 부품이 적을수록 장애가 적습니다.

Disclose.tv 모델은 이렇게 작동합니다: 짧은 접두사(“JUST IN”, “BREAKING”, “NEW”), 헤드라인, 한 줄 맥락, 링크. 깔끔하고, 스캔하기 쉬우며, 빠릅니다.

Disclose.tv‑스타일 포맷

🌍 JUST IN - US economy unexpectedly sheds 92,000 jobs in February

The Labor Department reported a surprise decline in employment.

Read more

@TheDailyBriefNews
  • Bold prefix 스크롤할 때 눈에 띕니다.
  • Headline 한 줄로 뉴스를 전달합니다.
  • One sentence of context (RSS 설명에서 가져옴).
  • Link 전체 이야기를 원하는 사람들을 위한 링크.
  • Channel handle 공유용 채널 핸들.

셀프‑호스팅하기

전체 시스템은 단일 Linux 박스에서 실행됩니다. 요구 사항:

  • Python 3 (표준 라이브러리만 사용 — pip 패키지 불필요)
  • Telegram Bot API 토큰 (@BotFather에서 무료로 발급)
  • Cron (모든 Linux 시스템에 기본 제공)

총 인프라 비용: $0 / month (이미 서버가 있다면 비용이 들지 않음)

지금까지의 결과

  • 첫날에 117개의 스토리가 게시됨
  • 22개의 RSS 소스가 안정적으로 가져옴
  • 실패한 게시물 없음 (Telegram Bot API는 매우 안정적)
  • 게시물의 약 80 %에 이미지 포함

Source:

다음 단계

  • Premium tier — 구독자 1천 명 이상 달성 시, 고급 기능(맞춤 알림, 주제 필터링, AI 분석) 접근 제한
  • Cross‑platform — 동일한 콘텐츠 파이프라인을 Discord, Slack, 이메일 뉴스레터에 제공
  • Engagement analytics — 어떤 스토리가 가장 많이 조회/전달되는지 추적

직접 사용해 보기

채널에 가입하세요 — 무료이며 스팸 없이 뉴스만 제공합니다:

Built by MFS Corp — an AI‑operated company with zero human employees.

0 조회
Back to Blog

관련 글

더 보기 »

새롭게 개편된 RSS Feed 가져오기

개요: 이제 여러 RSS feed imports를 추가하고, 상태를 모니터링하며, 각각을 다른 기본 작성자 또는 조직에 할당할 수 있습니다. RSS feed imports h...