# 인스턴트 메시징 (/ko/docs/verdent-manager/core-features/instant-messaging)

> Telegram, Slack 또는 Feishu에서 Manager에 작업 할당



컴퓨터 앞에 있지 않아도 Manager에 작업을 할당할 수 있습니다. Telegram, Slack 또는 Feishu를 연결하면 익숙한 채팅 도구로 언제 어디서나 Manager에 메시지를 보낼 수 있습니다. Manager는 메시지를 구조화된 작업으로 바꾸고 실행을 시작합니다. 휴대폰을 보다가 떠오른 아이디어를 바로 남기고, 나중에 돌아와 결과를 확인하세요.

## 지원되는 인스턴트 메시징 플랫폼 [#지원되는-인스턴트-메시징-플랫폼]

| 플랫폼      | 유형         |
| -------- | ---------- |
| Telegram | 개인 Bot     |
| Slack    | 워크스페이스 Bot |
| Feishu   | 엔터프라이즈 Bot |

각 플랫폼에서는 개발자 콘솔에서 Bot을 만든 다음 Verdent에서 페어링을 완료해야 합니다. 연결이 완료되면 Bot에 보내는 모든 메시지가 Manager로 바로 전달됩니다.

***

## 연결 흐름 [#연결-흐름]

연결 과정은 두 단계로 구성됩니다.

1. **토큰 입력** — 자격 증명 설정
2. **페어링용 메시지 보내기** — Bot을 Manager에 연결

모든 설정은 Manager 사이드바의 채널 설정 페이지에서 진행합니다.

### 설정에 접근하는 방법 [#설정에-접근하는-방법]

<Steps>
  <Step title="채널 추가 열기">
    Manager의 왼쪽 사이드바에서 상단의 &#x2A;*+** 버튼(채널 추가)을 선택합니다.
  </Step>

  <Step title="플랫폼 선택">
    연결하려는 플랫폼(Telegram, Slack 또는 Feishu)을 선택합니다.
  </Step>

  <Step title="안내 단계 따르기">
    사이드 패널에서 2단계 설정을 완료합니다.
  </Step>
</Steps>

***

## Telegram 설정 [#telegram-설정]

### 1단계: Bot 만들기 및 토큰 받기 [#1단계-bot-만들기-및-토큰-받기]

<Steps>
  <Step title="BotFather에 메시지 보내기">
    Telegram에서 [@BotFather](https://t.me/BotFather)를 찾아 `/newbot`을 보냅니다.
  </Step>

  <Step title="Bot 이름 지정">
    안내에 따라 표시 이름과 사용자 이름을 입력합니다.
  </Step>

  <Step title="토큰 복사">
    생성이 완료되면 BotFather가 `123456:ABC-DEF1234...` 형식의 토큰을 반환합니다.
  </Step>

  <Step title="Verdent에 붙여넣기">
    Verdent 설정 패널의 **Bot Token** 필드에 토큰을 붙여넣고 확인합니다.
  </Step>
</Steps>

### 2단계: 메시지 페어링 [#2단계-메시지-페어링]

<Steps>
  <Step title="메시지 보내기">
    Telegram에서 새 Bot을 열고 아무 메시지나 보냅니다(예: `hello`).
  </Step>

  <Step title="페어링 코드 받기">
    Bot이 자동으로 페어링 코드를 답장합니다.
  </Step>

  <Step title="Verdent에서 확인">
    Verdent 패널에 코드를 입력하고 확인합니다. 이제 연결이 완료되었습니다.
  </Step>
</Steps>

***

## Slack 설정 [#slack-설정]

### 1단계: Slack App 만들기 및 토큰 받기 [#1단계-slack-app-만들기-및-토큰-받기]

<Steps>
  <Step title="새 앱 만들기">
    [api.slack.com/apps](https://api.slack.com/apps)로 이동해 **Create New App**을 선택합니다.
  </Step>

  <Step title="제공된 매니페스트 사용">
    **From an app manifest**를 선택하고 Verdent에서 제공한 JSON 매니페스트를 붙여넣습니다(UI에서 복사 버튼을 사용할 수 있습니다).
  </Step>

  <Step title="워크스페이스 선택">
    Slack 워크스페이스를 선택하고 앱을 만듭니다.
  </Step>

  <Step title="두 토큰 복사">
    앱 설정에서 **Bot Token**(`xoxb-`)과 **App Token**(`xapp-`)을 찾은 다음, 둘 다 Verdent 설정 패널에 붙여넣습니다.
  </Step>
</Steps>

<Note>
  **앱 이름 요구 사항:** 이름은 80자 미만이어야 하며 중국어, 일본어 또는 한국어 문자를 포함할 수 없습니다.
</Note>

### 2단계: 메시지 페어링 [#2단계-메시지-페어링-1]

Telegram과 동일합니다. Bot에 메시지를 보내고 페어링 코드를 받은 다음, Verdent에 입력해 연결을 완료합니다.

***

## Feishu 설정 [#feishu-설정]

Feishu는 Telegram이나 Slack보다 몇 단계가 더 필요합니다. 권한을 별도로 설정해야 하고 이벤트도 수동으로 구독해야 합니다. 복잡하지는 않지만 모든 단계를 정확히 완료해야 하며, 그렇지 않으면 연결이 멈출 수 있습니다. 아래 순서대로 진행하세요.

### 1단계: Custom App 만들기 [#1단계-custom-app-만들기]

<Steps>
  <Step title="개발자 콘솔 열기">
    [Feishu Open Platform](https://open.feishu.cn/app)으로 이동해 Feishu 계정으로 로그인합니다.
  </Step>

  <Step title="Custom App 만들기">
    오른쪽 상단의 **Create Custom App**을 선택합니다.
  </Step>

  <Step title="기본 정보 입력">
    앱 이름과 설명을 입력한 다음 생성을 완료합니다.
  </Step>
</Steps>

### 2단계: 권한 설정 [#2단계-권한-설정]

새 앱을 열고 왼쪽 메뉴에서 **Permissions & Scopes**로 이동합니다.

Feishu는 스코프 일괄 가져오기를 지원하므로 하나씩 선택할 필요가 없습니다. 페이지에서 일괄 가져오기/내보내기 항목을 찾아 다음 JSON 전체를 붙여넣습니다.

```json
{
  "scopes": {
    "tenant": [
      "im:message:send_as_bot",
      "im:message",
      "im:resource",
      "im:chat",
      "im:chat:readonly",
      "im:message.p2p_msg:readonly",
      "im:message.group_at_msg:readonly",
      "contact:contact.base:readonly",
      "contact:user.base:readonly",
      "contact:user.employee_id:readonly",
      "docs:document.content:read",
      "wiki:wiki:readonly",
      "application:application:self_manage"
    ],
    "user": []
  }
}
```

가져오기를 확인하면 위의 모든 스코프가 권한 목록에서 선택된 상태로 표시되어야 합니다.

### 3단계: 자격 증명 받기 및 Verdent 연결 [#3단계-자격-증명-받기-및-verdent-연결]

왼쪽 메뉴에서 **Credentials & Basic Info**를 엽니다.

<Steps>
  <Step title="App ID와 App Secret 복사">
    **App ID**(`cli_xxx...` 형식)와 **App Secret**을 복사합니다.
  </Step>

  <Step title="Verdent에 붙여넣기">
    두 값을 Verdent 설정 패널의 해당 필드에 붙여넣습니다.
  </Step>

  <Step title="연결">
    **Connect**를 선택해 첫 번째 단계를 완료합니다.
  </Step>
</Steps>

### 4단계: Long Connection 활성화 [#4단계-long-connection-활성화]

연결이 완료되면 Feishu Open Platform으로 돌아가 **Events & Callbacks**를 엽니다.

**Use Long Connection to Receive Events**를 켭니다. 이 스위치는 Feishu가 Bot에 메시지를 전달하는 방식을 제어합니다. Long Connection은 공개 URL을 노출할 필요가 없고, 대신 지속 연결을 유지하므로 더 안정적입니다.

### 5단계: 메시지 이벤트 구독 및 게시 [#5단계-메시지-이벤트-구독-및-게시]

계속 **Events & Callbacks** 페이지에서 진행합니다.

<Steps>
  <Step title="메시지 이벤트 추가">
    **Add Event**를 선택한 다음 `im.message.receive_v1`(메시지 수신 이벤트)을 검색해 추가합니다.
  </Step>

  <Step title="버전 생성 및 게시">
    오른쪽 상단의 **Create and Publish Version**을 선택하고 버전 노트를 입력한 다음 확인합니다.
  </Step>

  <Step title="Verdent와 페어링">
    게시 후 Verdent로 돌아가 Feishu Bot에 메시지를 보내 페어링을 완료합니다.
  </Step>
</Steps>

### 각 권한의 역할 [#각-권한의-역할]

| 권한                                                  | 목적                                                          |
| --------------------------------------------------- | ----------------------------------------------------------- |
| `im:message:*` 계열                                   | Bot이 1:1 메시지와 그룹 @ 멘션을 포함해 메시지를 읽고 보낼 수 있게 합니다              |
| `im:chat:*`                                         | Bot이 속한 대화 목록을 읽습니다                                         |
| `im:resource`                                       | 메시지에 첨부된 이미지, 파일 및 기타 리소스를 읽습니다                             |
| `contact:*`                                         | 메시지를 보낸 사람을 식별하기 위해 기본 연락처 정보를 읽습니다                         |
| `docs:document.content:read` / `wiki:wiki:readonly` | 문서 링크를 컨텍스트로 Manager에 전달할 수 있도록 Feishu Docs와 Wiki 콘텐츠를 읽습니다 |
| `application:application:self_manage`               | 앱 자체 설정을 관리합니다. Long Connection 기능에 필요합니다                   |

***

## 연결 성공 후 [#연결-성공-후]

페어링이 완료되면 채널이 Manager 왼쪽 사이드바의 채널 목록에 표시되며 다음 정보가 보입니다.

* 플랫폼 아이콘과 채널 이름
* 연결 상태(**Connected** / **Disconnected** / **Needs attention**)
* 최신 메시지의 미리보기와 타임스탬프
* 읽지 않은 메시지 표시(초록색 점)

이 시점부터 Bot에 보내는 모든 메시지는 Manager가 실행 가능한 작업으로 직접 처리합니다.

***

## 연결된 채널 관리 [#연결된-채널-관리]

* **모든 채널 보기** — 연결된 모든 IM 채널이 사이드바에 표시됩니다.
* **채널 삭제** — 채널 위에 마우스를 올리고 삭제를 선택한 다음 확인합니다. 해당 유형의 마지막 채널이면 Bot 설정도 함께 지워집니다.
* **다시 연결** — 채널에 **Disconnected** 또는 **Needs attention**이 표시되면 재설정을 위한 복구 프롬프트가 상단에 나타납니다.

***

## 사용 사례 [#사용-사례]

<CardGroup cols="3">
  <Card title="모바일 명령 센터" icon="mobile">
    이동 중에 Telegram에서 Bot에게 "main 브랜치의 최신 변경 사항을 staging에 배포해 줘."라고 말합니다. 돌아올 때쯤 결과가 준비되어 있습니다.
  </Card>

  <Card title="팀 협업" icon="users">
    Slack 채널에서 Manager Bot을 멘션해 오늘의 PR 상태를 요약하게 합니다. 응답은 채널에 바로 표시되어 팀 전체가 확인할 수 있습니다.
  </Card>

  <Card title="빠른 아이디어 기록" icon="lightbulb">
    잠들기 전에 Bot에 아이디어를 보내고 Manager에게 내일 실행할 작업으로 바꿔 달라고 요청합니다.
  </Card>
</CardGroup>
