← Lease Bot 홈블로그
텔레그램 봇📅 2026-05-04⏱ 9분 읽기

텔레그램 봇 자동 프로비저닝 — BotFather API 활용

결제 → 봇 자동 생성 → Deep link 발급 → 고객 첫 메시지까지 — 사람 손 닿지 않고 5분 안에 끝나는 무인 온보딩 파이프라인.

전체 플로우

고객 결제 (토스)
  ↓ webhook
서버 (Vercel/Workers)
  ↓
[옵션 A] 단일 봇 + 토큰 분리  ← 추천
[옵션 B] 고객별 신규 봇 생성    ← BotFather API

  ↓ 둘 다 결과
Deep link 발급:
https://t.me/leasebot_pro?start=CUSTOMER_TOKEN

  ↓ 안내 페이지에 표시
고객 클릭 → Telegram 자동 열림 → "START"
  ↓
봇 → /start 페이로드 검증 → DB 매칭
  ↓
"환영합니다! 이제 사용 가능합니다." (자동)

옵션 A: 단일 봇 + 토큰 분리 (추천)

봇 1개로 모든 고객을 받되, 고객별 토큰으로 식별·한도 분리.

장점

구현

// 1. 결제 완료 webhook
app.post("/webhook/toss", async (req, res) => {
  const { customerEmail, plan } = req.body;

  // 2. 고유 토큰 생성
  const token = crypto.randomBytes(8).toString("hex");

  // 3. DB에 매핑 저장
  await db.customers.insert({
    email: customerEmail,
    plan,
    token,
    sonnetUsed: 0,
    haikuUsed: 0,
    activatedAt: null, // 첫 /start 시 갱신
  });

  // 4. Deep link 생성
  const deepLink = `https://t.me/leasebot_pro?start=${token}`;

  // 5. 안내 이메일 발송
  await sendEmail(customerEmail, {
    subject: "Lease Bot 사용 시작 안내",
    body: `
      결제가 완료되었습니다.

      👇 아래 버튼을 클릭하면 봇이 자동 시작됩니다.
      [📱 봇 시작하기](${deepLink})
    `,
  });

  res.json({ ok: true });
});

봇 측 처리 (/start payload 검증)

// /start ABC123 명령어 처리
if (message.text?.startsWith("/start ")) {
  const token = message.text.split(" ")[1];
  const customer = await db.customers.findOne({ token });

  if (!customer) {
    return reply("⚠️ 유효하지 않은 토큰입니다. 결제 안내를 확인해주세요.");
  }

  // 텔레그램 user ID와 토큰 매핑
  await db.customers.update(
    { token },
    { telegramId: message.from.id, activatedAt: new Date() }
  );

  return reply(`
    🎉 환영합니다!

    플랜: ${customer.plan}
    월 한도: 8,000건 (Sonnet 3,000 + Haiku 5,000)

    이제 무엇이든 물어보세요.
  `);
}

옵션 B: 고객별 봇 생성 (BotFather API)

"전용 봇" 느낌이 필요할 때. 단, BotFather는 공식 API가 제한적이어서 tdlib(Telegram Database Library)를 통한 자동화가 필요하다.

⚠️ 주의 Telegram 1계정당 봇 20개 한도. 자동 생성 봇 100개 = 계정 5개 필요. 운영 부담 ↑.

대부분의 경우 옵션 A로 충분하다.

Deep Link 형식 정리

URL동작
t.me/botname봇 프로필 열기
t.me/botname?start=PAYLOADSTART 버튼 클릭 시 PAYLOAD 전달
t.me/botname?startgroup=PAYLOAD그룹에 봇 추가 (옵션)

안내 페이지 UX (결제 직후)

<div class="success-page">
  <h1>✅ 결제가 완료되었습니다</h1>
  <p>아래 버튼을 클릭하면 텔레그램이 자동으로 열리고, 봇이 시작됩니다.</p>

  <a href="https://t.me/leasebot_pro?start=ABC123XYZ"
     class="btn btn-primary btn-xl">
    📱 텔레그램에서 봇 시작하기 →
  </a>

  <p class="hint">
    ※ 텔레그램 미설치 시:
    <a href="/#telegram-download">설치 가이드</a>
  </p>
</div>

결과: 진정한 무인 온보딩

마치며

"AI 봇 사업"의 본질은 AI가 아니라 온보딩이다. 결제 후 30분 내에 첫 사용 경험을 못 주면 환불률이 급증한다. Deep link + 토큰 매핑은 이 30분을 2분으로 줄인다.