본문 바로가기
실무/슬랙 봇 만들기

파이썬 슬랙 봇 만들기(3-1): 파일 전송하기

by davi_kr 2023. 4. 16.

목차

    반응형

    총 5회에 걸쳐서 봇 호출을 통해 엑셀 파일을 업로드 하는 방법을

    견적서 업로드 하는 방식으로 예를 들어 공유해보려합니다.

    공식 문서를 참고하여 독학으로 만들다보니 부족함이 있을 수 있습니다. 

    피드백 주시면 반영해보겠습니다^^

    [봇 호출을 통해 슬랙에 엑셀 파일 업로드하기]

    결과물을 먼저 공유해봅니다.

    @davi_test_bot을 호출하고 접수라는 단어를 입력하면 봇이 반응하면서 드롭다운을 보여줍니다.

    그리고 사무실을 클릭합니다.

    사무실을 클릭하면 사무실 관련해서 연결된 다음 드롭다운이 노출되며 그 중에서 견적서 출력을 눌러줍니다.

    조금 기다려주면... 필수 정보들을 반영해 만들어진 엑셀 파일이 슬랙에 올라오게 됩니다.

    견적서 출력을 누르면 견적서를 만들기 위한 필수 정보 입력창이 뜹니다. 여기서 모두 입력해주고 견적서 생성하기를 눌러줍니다.

    조금 기다려주면... 필수 정보들을 반영해 만들어진 엑셀 파일이 슬랙에 올라오게 됩니다.

    [슬랙 봇 권한 설정해주기]

     

    3. 두 봇 모두 권한 설정해주기

    모든 앱은 OAuth & Permissions에서 Bot Token Scopes를 app_mentions:read, channels:history, chat:write, files:read, files:write까지 권한 설정 해줍니다.

    각각은 아래의 권한을 의미합니다.

    • app_mentions:read: 앱이 참여한 대화에서 @davi_test_bot을 직접 언급한 메시지를 볼 수 있습니다.
    • channels:history: davi_test_bot이 추가된 공개 채널에서 메시지와 다른 콘텐츠를 볼 수 있습니다.
    • chat:write: @davi_test_bot으로 메시지를 보낼 수 있습니다.
    • chat:write.public: @davi_test_bot이 멤버가 아닌 채널에 메시지를 보낼 수 있습니다.
    • files:read: davi_test_bot이 추가된 채널과 대화에서 공유된 파일을 볼 수 있습니다.
    • files:write: davi_test_bot으로 파일을 업로드, 편집 및 삭제할 수 있습니다.

    (chat:write.public은 없어도 됩니다.)

     

    4. 권한 설정 후 둘 다 사용하려는 채널에 추가합니다.

     

    5. 템플릿 엑셀 파일을 준비합니다.

    견적서(공통양식) 파일을 사용해서 기존 템플릿에 필수값의 셀들만 값을 수정한 다음에 다른 이름으로 저장해주고 그걸 슬랙으로 올려주는 방식 사용했습니다. 견적서 자체도 코드로 만들 수 있지만 한번만 만들어두면 다시는 안고쳐도 되는 거라서 코드를 덜 작성하기 위해 이 방법을 사용했습니다.

     

    여기까지 됐으면 기본 준비까지 마무리 됐습니다.

    다음 포스팅에선 이제 코드를 리뷰해보겠습니다.

    반응형

    댓글