파이썬으로 슬랙 봇 개발 시작하기
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (1)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (2)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (3)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (4)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (5)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (6)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (7)
- Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (8)
이번에는 Python과 Bolt를 사용하여 슬랙 봇을 만드는 과정을 설명한다. 이 글은 공식 문서"Building an app with Bold for Python"을 참고하여 작성했다.
파이썬 설치하기
만약 파이썬이 설치되어 있지 않다면 python 공식홈에서 파이썬 3 최신 버전을 다운로드하고 설치하자.
PyCharm(파이참) 설치하기
JetBrains 사이트에서 Coummunity 무료 버전을 다운로드하여 설치한다.
개발 환경 만들기
PyCharm을 실행하고 [New Project] 버튼을 누른다.
New Project 화면이 나타나면 Location에 프로젝트를 생성할 폴더 위치를 입력한다.
New environment using는 Virtualenv
를 선택한다.
그리고 Base interpreter는 Python 3
을 선택한다.
그 다음 [Create] 버튼을 눌러 프로젝트를 생성한다.
가상 환경 활성화하기
파이참 왼쪽 하단에 Terminal 탭을 클릭하면 파이참 내에서 터미널을 사용할 수 있다.
터미널에 아래 명령을 입력하여 가상 환경을 활성화한다.
source ./venv/bin/activate
Bolt Python 패키지 설치하기
Bolt Python 패키지를 사용하면 슬랫봇을 정말 쉽게 구현할 수 있다. 아래 명령을 사용하여 Bolt Python 패키지를 설치한다.
pip install slack_bolt
앱 실행하기
main.py
파일의 내용을 모두 지우고 다음 코드를 붙여 넣는다.
import os
# Use the package we installed
from slack_bolt import App
# Initializes your app with your bot token and signing secret
app = App(
token=os.environ.get("SLACK_BOT_TOKEN"),
signing_secret=os.environ.get("SLACK_SIGNING_SECRET")
)
# Add functionality here
# @app.event("app_home_opened") etc
# Start your app
if __name__ == "__main__":
app.start(port=int(os.environ.get("PORT", 3000)))
위의 코드는 App을 생성하여 초기화한 다음에 3000 포트에서 간단한 HTTP 서버를 시작한다. HTTP 서버는 기본 제공되는 개발 어댑터를 사용하고 있다. 그리고 이 어댑터는 Slack에서 들어오는 이벤트를 처리하고 구문 분석하는 역할을 담당한다.
아래 명령을 실행하여 앱을 실행해 보자.
python3 main.py
그럼 환경 변수 SLACK_BOT_TOKEN
가 필요하다는 에러 메시지가 표시될 것이다.
App을 초기화하고 실행하기 위해서는 SLACK_BOT_TOKEN
와 SLACK_SIGNING_SECRET
가 필요하다.
이 두 값은 Slack Apps에서 확인할 수 있다.
SLACK_SIGNING_SECRET
은 Basic Information 화면의 App Credintials 섹션에서 확인할 수 있다. [Show] 버튼을 누르면 볼 수 있다.
그리고 SLACK_BOT_TOKEN
는 Installed App Settings 화면에서 확인할 수 있다.
이 두 값은 노출되면 피해를 볼 수 있기 때문에 코드에 포함시키지 않고 환경변수로 관리하는 것이 좋다.
시크릿 키를 환경변수로 관리하기
slack_secret.txt
파일을 생성하고 SLACK_BOT_TOKEN
와 SLACK_SIGNING_SECRET
를 다음과 같은 형태로 저장한다.
SLACK_BOT_TOKEN=내 슬랙 봇 토큰 값
SLACK_SIGNING_SECRET=내 슬랙 사이닝 시크릿 값
그다음 파이참에서 환경변수 파일을 사용할 수 있게 해주는 EnvFile 플러그인을 설치하자.
오른쪽 상단 톱니바퀴 아이콘을 눌러 드롭다운에서 Plugins을 선택한다.
그리고 EnvFile을 검색하여 설치한다. EnvFile 플러그인을 설치하고 나면 파이참을 재실행한다.
그다음 오른쪽 상단에서 main 영역의 드롭다운 박스를 누르고 [Edit Configurations…] 를 선택한다.
다음 화면이 나타나면 EnvFile 탭을 누르고 Enable EnvFile 체크박스를 활성화한다.
그다음 + 버튼을 눌러, 토큰 파일이 저장되어 있는 slack_secret.txt
파일을 찾아서 추가한다.
slack_secret.txt
파일이 아래 화면과 같이 추가된다.
이제 앱을 다시 실행해 보자. 오른쪽 상단에 ► 실행 버튼을 누르면 앱이 실행된다.
또는 터미널에서 아래 명령으로 앱을 실행해도 된다.
python3 main.py
앱이 정상적으로 실행되었다면 아래 메시지가 터미널에 표시될 것이다.
다음글에서 슬랙 메시지 이벤트를 구독하고 응답하는 봇을 만드는 과정을 설명하겠다.
or
[카카오페이로 후원하기] [토스페이로 후원하기]
'개발 > AI 개발' 카테고리의 다른 글
Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (4) (4) | 2023.02.20 |
---|---|
Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (3) (0) | 2023.02.19 |
Slack에서 ChatGPT와 함께하는 AI 챗봇 만들기 (1) (2) | 2023.02.17 |
자동 블로그 봇을 개발하는 방법을 ChatGPT에게 물어보다 (0) | 2023.02.16 |
(ChatGPT) OpenAI로 블로그 자동화하기 - 2 (2) | 2023.02.07 |