OPEN HYPER STEP
← 목록으로 (ai-startup)
AI-STARTUP · 49 / 100
ai-startup
CHAPTER 49 / 100
읽기 약 2
FUNCTION

Slack/Discord 봇: AI 팀 어시스턴트


핵심 개념

Slack App·Discord Bot·slash 명령·AI 통합 — 팀 도구.

본문

Slack App 셋업

📋 코드 (8줄)
1. https://api.slack.com/apps → Create New App
2. From scratch → 이름·workspace
3. Features:
   - Bot Token Scopes: chat:write, app_mentions:read
   - Slash Commands: /askai
   - Event Subscriptions: app_mention
4. Install to Workspace
5. Bot Token 저장 (xoxb-...)

Slack Bot — Bolt.js

TYPESCRIPT📋 코드 (44줄)
import { App } from '@slack/bolt';

const app = new App({
  token: process.env.SLACK_BOT_TOKEN,
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  socketMode: true,
  appToken: process.env.SLACK_APP_TOKEN,
});


// Slash Command — /askai
app.command('/askai', async ({ command, ack, respond }) => {
  await ack();

  const result = await generateText({
    model: anthropic('claude-sonnet-4-6'),
    prompt: command.text,
  });

  await respond({
    text: result.text,
    response_type: 'in_channel',  // 모두에게 보여줌 (또는 'ephemeral')
  });
});


// Mention 응답 — @AI Bot
app.event('app_mention', async ({ event, say }) => {
  const cleanText = event.text.replace(/<@[^>]+>/, '').trim();

  const result = await generateText({
    model: anthropic('claude-sonnet-4-6'),
    prompt: cleanText,
  });

  await say({
    text: result.text,
    thread_ts: event.ts,  // thread로 답변
  });
});


await app.start();
console.log('⚡️ Bot running');

Discord Bot — discord.js

TYPESCRIPT📋 코드 (29줄)
import { Client, GatewayIntentBits, Events } from 'discord.js';

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
});


client.on(Events.MessageCreate, async (message) => {
  if (message.author.bot) return;
  if (!message.mentions.has(client.user!.id)) return;

  const content = message.content.replace(/<@\d+>/, '').trim();

  await message.channel.sendTyping();

  const result = await generateText({
    model: anthropic('claude-sonnet-4-6'),
    prompt: content,
  });

  await message.reply(result.text);
});


client.login(process.env.DISCORD_TOKEN);

회사 위키 RAG (Slack)

TYPESCRIPT📋 코드 (34줄)
// 회사 문서로 RAG 셋업 (Notion·Confluence)
app.command('/wiki', async ({ command, ack, respond }) => {
  await ack();

  // 1. 임베딩 검색
  const docs = await searchKnowledgeBase(command.text);

  // 2. LLM에 컨텍스트
  const result = await generateText({
    model: anthropic('claude-sonnet-4-6'),
    system: `Answer based ONLY on the company wiki. Cite sources.`,
    prompt: `Wiki context:
${docs.map(d => `- ${d.title}: ${d.content}`).join('\n\n')}

Question: ${command.text}`,
  });

  await respond({
    text: result.text,
    blocks: [
      {
        type: 'section',
        text: { type: 'mrkdwn', text: result.text },
      },
      {
        type: 'context',
        elements: docs.map(d => ({
          type: 'mrkdwn',
          text: `📄 <${d.url}|${d.title}>`,
        })),
      },
    ],
  });
});

Workflow Trigger

TYPESCRIPT📋 코드 (29줄)
// 코드 리뷰 자동 — PR 열림 시 Slack 알림 + AI 요약
app.event('app_home_opened', async ({ event, client }) => {
  // 사용자 홈 탭 - dashboard 같은 UI
});


// Reaction 트리거 — 🤖 이모지 → AI 답변
app.event('reaction_added', async ({ event, client }) => {
  if (event.reaction !== 'robot_face') return;

  const message = await client.conversations.history({
    channel: event.item.channel,
    latest: event.item.ts,
    limit: 1,
    inclusive: true,
  });

  const text = message.messages[0].text;
  const result = await generateText({
    model: anthropic('claude-sonnet-4-6'),
    prompt: `Analyze this Slack message: "${text}"`,
  });

  await client.chat.postMessage({
    channel: event.item.channel,
    thread_ts: event.item.ts,
    text: `🤖 ${result.text}`,
  });
});

수익화

📋 코드 (12줄)
[B2B SaaS]
- 회사 단위 라이선스
- $20/user/mo

[Enterprise]
- 자체 호스팅 옵션
- SSO·SAML
- $500+/mo


→ Slack 봇은 B2B 자연스러움
→ 일반 SaaS보다 retention 높음 (이탈 어려움)

다음 챕터

CH.50 "AI 도구 종합".


AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
무료

월 $0 — 검증·시작 단계

Slack Discord 봇을 무료 도구만으로
시작하는 방법을 알려줘.
소자본

월 $20~50 — MVP·초기 운영

월 $20~50 예산으로 Slack Discord 봇을
검증·MVP 단계까지 진행하는 전략은?
프로덕션

월 $200~500 — 성장 단계

Slack Discord 봇을 프로덕션 단계로
확장할 때 필요한 도구·운영 체계는?
스택

풀스택 — 도구 조합 분석

2026년 Slack Discord 봇 관련 도구 5개를
조합한 추천 스택을 알려줘.

⭐ 이것만 기억하세요
Slack/Discord 봇: AI 팀 어시스턴트 이 3가지만 확실히 잡으세요
1.Slack/Discord 봇 = B2B AI SaaS 자연스러운 진입
2.Slash 명령 + Mention + Reaction = 다양한 트리거
3.B2B 라이선스 ($20/user) = 1인 창업가 좋은 수익 모델


공유하기
진행도 49 / 100