Slack에 봇 연결Connect a bot to Slack

적용 대상: SDK v4APPLIES TO: SDK v4

이 문서에서는 봇에 여유 채널을 추가 하는 방법을 보여 줍니다.This article shows how to add a Slack channel to a bot. 다음 방법 중 하나를 선택 하 여 여유 시간 앱 을 구성 합니다.Select one of the following ways to configure the Slack app:

  • Azure Bot Service 포털을 사용하여 봇 연결Use Azure Bot Service portal to connect your bot
  • Slack 어댑터 사용Use the Slack adapter

봇용 Slack 애플리케이션 만들기Create a Slack application for your bot

  1. 브라우저 에서 로그인 합니다.In your browser, sign in Slack.

  2. 패널로 이동 합니다.Navigate to Your Apps panel.

    봇 설정

  3. Create New App 을 클릭합니다.Click Create New App.

  4. 앱 이름 상자에 여유 시간 응용 프로그램의 이름을 입력 합니다.In the App Name box, enter the name of your Slack application.

  5. 개발 여유 팀 상자에 개발 팀의 이름을 입력 합니다.In the Development Slack Team box, enter the name of your development team. 아직 개발 Slack 팀 멤버가 아닌 경우 만들거나 가입합니다.If you are not already a member of a Development Slack Team, create or join one.

    앱 만들기

  6. 앱 만들기 를 클릭합니다.Click Create App.

새 리디렉션 URL 추가Add a new redirect URL

  1. 왼쪽 패널에서 OAuth & 권한 메뉴 항목을 선택 합니다.In the left panel, select the OAuth & Permissions menu item.

  2. 오른쪽 패널에서 새 리디렉션 URL 추가 를 클릭 합니다.In the right panel, click Add a new Redirect URL.

  3. 상자에을 입력 https://slack.botframework.com/ 합니다.In the box, enter https://slack.botframework.com/.

  4. 추가 를 클릭합니다.Click Add.

  5. URL 저장 을 클릭합니다.Click Save URLs.

    리디렉션 URL 추가

봇 이벤트 구독Subscribe to Bot Events

6가지 특정 봇 이벤트를 구독하려면 다음 단계를 따릅니다.Follow these steps to subscribe to six particular bot events. 봇 이벤트를 구독하면 앱은 지정된 URL의 사용자 활동에 대한 알림을 받게 됩니다.By subscribing to bot events, your app will be notified of user activities at the URL you specify.

봇 핸들은 봇의 이름입니다.Your bot handle is the name of your bot. Bot의 핸들을 찾으려면를 방문 하 여 https://dev.botframework.com/bots 봇을 선택 하 고 봇의 이름을 기록 합니다.To find a bot's handle, visit https://dev.botframework.com/bots, choose a bot, and record the name of the bot.

  1. 왼쪽 패널에서 이벤트 구독 항목을 선택 합니다.In the left panel, select the Event Subscriptions item.

  2. 오른쪽 패널에서 이벤트 사용켜기 로 설정 합니다.In the right panel, set Enable Events to On.

  3. 요청 URLhttps://slack.botframework.com/api/Events/{YourBotHandle}을 중괄호 없이 입력합니다. 여기서 {YourBotHandle}은 봇 핸들입니다.In Request URL, enter https://slack.botframework.com/api/Events/{YourBotHandle}, where {YourBotHandle} is your bot handle, without the braces.

    이벤트 구독

  4. 봇 이벤트 구독 에서 봇 사용자 이벤트 추가 를 클릭합니다.In Subscribe to Bot Events, click Add Bot User Event.

  5. 이벤트 목록에서 이러한 6개 이벤트 유형을 선택합니다.In the list of events, select these six event types:

    • member_joined_channel
    • member_left_channel
    • message.channels
    • message.groups
    • message.im
    • message.mpim

    구독 된 이벤트 목록

  6. 화면 아래쪽에서 변경 내용 저장 을 클릭 합니다.At the bottom of the screen, click Save Changes.

여유 시간으로 이벤트를 추가 하면 요청 해야 하는 범위가 나열 됩니다.As you add events in Slack, it lists the scopes you need to request. 필요한 범위는 구독 하는 이벤트와 응답 방법에 따라 달라 집니다.The scopes you need will depend on the events you subscribe to and how you intend to respond to them. 지원 되는 여유 범위는 범위 및 사용 권한을 참조 하세요.For Slack supported scopes, refer to Scopes and permissions. 또한 Bot OAuth 범위 이해를참조 하세요.See also Understanding OAuth scopes for Bots.

참고

6 월 2020을 기준으로 하는 채널은 봇 V2 권한 범위를 지원 합니다 .이를 통해 봇에서 기능 및 사용 권한을 보다 세분화 된 방식으로 지정할 수 있습니다.As of June 2020 Slack channel supports Slack V2 permission scopes which allow the bot to specify its capabilities and permissions in a more granular way. 새로 구성 된 모든 여유 시간 채널은 V2 범위를 사용 합니다.All newly configured Slack channels will use the V2 scopes. 봇을 V2 범위로 전환 하려면 Azure Portal 채널 블레이드에서 여유 채널 구성을 삭제 하 고 다시 만듭니다.To switch your bot to the V2 scopes, delete and recreate the Slack channel configuration in the Azure portal Channels blade.

대화형 메시지 추가 및 구성(선택 사항)Add and Configure Interactive Messages (optional)

봇이 단추와 같은 Slack 관련 기능을 사용하는 경우 다음 단계를 수행합니다.If your bot will use Slack-specific functionality such as buttons, follow these steps:

  1. 대화형 작업 & 바로 가기 탭을 선택 하 고 대화형 작업 을 사용 하도록 설정 합니다.Select the Interactivity & Shortcuts tab and enable Interactivity.

  2. 요청 URLhttps://slack.botframework.com/api/Actions를 입력합니다.Enter https://slack.botframework.com/api/Actions as the Request URL.

  3. 변경 내용 저장 단추를 클릭합니다.Click the Save changes button.

    메시지 사용

봇에 여유 채널 추가Add the Slack channel to the bot

  1. 왼쪽 패널에서 기본 정보 항목을 선택 합니다.In the left panel, select the Basic Information item.

  2. 오른쪽 패널에서 앱 자격 증명 섹션으로 스크롤합니다.In the right panel, scroll to the App Credentials section. 여유 봇 채널을 구성 하는 데 필요한 클라이언트 ID, 클라이언트 암호서명 암호가 표시 됩니다.The Client ID, Client Secret, and Signing Secret required for configuring your Slack bot channel are displayed. 이러한 자격 증명을 안전한 장소에 복사 하 고 저장 합니다.Copy and store these credentials in safe place.

    자격 증명 수집

  3. Azure Portal에서 봇을 엽니다.Open your bot in the Azure portal.

  4. 왼쪽 패널에서 채널 을 선택 합니다.In the left panel, select Channels,

  5. 오른쪽 패널에서 여유 시간 아이콘을 선택 합니다.In the right panel, select the Slack icon.

  6. 이전 단계에서 저장 한 여유 앱 자격 증명을 해당 필드에 붙여넣습니다.Paste the Slack app credentials you saved in the previous steps into the appropriate fields.

  7. 방문 페이지 URL 은 선택 사항입니다.The Landing Page URL is optional. 생략하거나 변경할 수 있습니다.You may omit or change it.

    자격 증명 제출

  8. 저장 을 클릭합니다.Click Save. 개발 Slack 팀에 Slack 앱에 대한 액세스 권한을 부여하려면 지침을 따릅니다.Follow the instructions to authorize your Slack app's access to your Development Slack Team.

  9. 여유 시간 구성 페이지에서 저장 단추의 슬라이더가 사용 으로 설정 되어 있는지 확인 합니다.On the Configure Slack page, confirm that the slider by the Save button is set to Enabled. 이제 봇에서 사용자와 통신 하도록 봇이 구성 되었습니다.Your bot is now configured to communicate with the users in Slack.

Slack에 추가 단추 만들기Create an Add to Slack button

Slack은 이 페이지Slack에 추가 단추 섹션에서 Slack 사용자가 봇을 찾는 데 도움을 주기 위해 사용할 수 있는 HTML을 제공합니다.Slack provides HTML you can use to help Slack users find your bot in the Add the Slack button section of this page. 봇에서 이 HTML을 사용하려면 href 값(https://로 시작)을 봇의 Slack 채널 설정에 있는 URL로 바꿉니다.To use this HTML with your bot, replace the href value (begins with https://) with the URL found in your bot's Slack channel settings. 대체 URL을 가져오려면 다음 단계를 수행합니다.Follow these steps to get the replacement URL.

  1. 에서 https://dev.botframework.com/bots 봇을 클릭 합니다.On https://dev.botframework.com/bots, click your bot.
  2. 채널 을 클릭하고 Slack 이라는 항목을 마우스 오른쪽 단추로 클릭하고 링크 복사 를 클릭합니다.Click Channels, right-click the entry named Slack, and click Copy link. 이제 이 URL이 클립보드에 포함되었습니다.This URL is now in your clipboard.
  3. 클립보드의 이 URL을 Slack 단추에 제공되는 HTML에 붙여넣습니다.Paste this URL from your clipboard into the HTML provided for the Slack button. 이 URL은 이 봇을 위해 Slack이 제공하는 href 값을 대신합니다.This URL replaces the href value provided by Slack for this bot.

권한 있는 사용자는 수정된 이 HTML에서 제공하는 Slack에 추가 단추를 클릭하여 Slack에서 해당 봇에 연결할 수 있습니다.Authorized users can click the Add to Slack button provided by this modified HTML to reach your bot on Slack.

참고

HTML의 href 값에 붙여넣은 링크에는 필요에 따라 조정할 수 있는 범위가 포함 되어 있습니다.The link you pasted into the href value of the HTML contains scopes that can be refined as needed. 사용 가능한 범위의 전체 목록은 범위 및 사용 권한 을 참조 하세요.See Scopes and permissions for the full list of available scopes.

여유 시간 내에 응용 프로그램 테스트Test your application in Slack

  1. 앱을 설치한 여유 공간 작업 공간에 로그인 http://<your work space>-group.slack.com/ 합니다 ().Log in the Slack work space where you installed your app (http://<your work space>-group.slack.com/). 왼쪽 패널의 섹션 아래에 표시 됩니다.You will see it listed under the Apps section in the left panel.

  2. 왼쪽 패널에서 앱을 선택 합니다.In the left panel, select your app.

  3. 오른쪽 패널에서 e 메시지를 작성 하 고 응용 프로그램에 보냅니다.In the right panel, write e message and send it to the application. Echo bot을 사용한 경우 응용 프로그램은 아래 그림에 표시 된 것 처럼 메시지를 다시 표시 합니다.If you used an echo bot, the application echoes back the message as shown in the figure below.

    앱 테스트

또한 appSettings.json 파일을 위의 단계에서 설명한 것과 동일한 값으로 채워 Slack 어댑터용 샘플 봇을 사용하여 이 기능을 테스트할 수도 있습니다.You can also test this feature using the sample bot for the Slack adapter by populating the appSettings.json file with the same values described in the steps above. 이 샘플에는 추가 정보 파일에 설명된 추가 단계가 있어 링크 공유, 첨부 파일 수신 및 대화형 메시지 보내기의 예제를 보여 줍니다.This sample has additional steps described in the README file to show examples of link sharing, receiving attachments, and sending interactive messages.