반응형
회사에서 Slack을 사용하다 보니 편해져서 개인적인 용도로도 사용하기 시작했다.
그러던 중 슬랙 채널에 주식 정보를 30분 마다 자동으로 알려주는 챗 봇을 만들고 싶었다.
생각보다 간단하다.
Python으로 Slack 채팅 봇 만드는 방법
1. 먼저 https://api.slack.com/ 으로 접속하여 Create a custom app 버튼을 눌러준다.
2. App Name에는 챗 봇 이름을
그리고 아래칸에는 봇을 만들 workspace를 골라준다.
3. 좌측 메뉴에서 OAuth&Permissions에 들어가서 Scopes에 Calls:Write를 선택해준다.
추후 다른 기능을 추가하고 싶다면 Scopes에 다른 부분도 선택하여 사용하면 된다.
4. 그리고 나면 Install to Workspace 버튼이 활성화된다.
버튼을 누르고 진행하면 Bot User OAuth Token 이 생성되고 토큰을 복사해놓는다.
5. 그리고 아래의 파이썬 코드에서 myToken 부분을 위에서 복사한 token으로 수정하고 #채널이름 부분에 봇이 상주할 채널을 입력하고 아래의 코드를 실행하면 대충 끝!
import requests
from datetime import datetime
# slack 챗 봇
def post_message(token, channel, text):
response = requests.post("https://slack.com/api/chat.postMessage",
headers={"Authorization": "Bearer " + token},
data={"channel": channel, "text": text})
print(response)
# slack 토큰
myToken = "xoxb-123456789011-123456789-ABCDEFGHIJKLMNOP"
# message로 받은 인자를 파이썬 쉘과 슬랙 #채널이름 에 동시에 출력한다
def dbgout(message):
print(datetime.now().strftime('[%m/%d %H:%M:%S]'), message)
strbuf = datetime.now().strftime('[%m/%d %H:%M:%S] ') + message
post_message(myToken, "#채널이름", strbuf)
이제 dbgout이라는 함수를 이용하면 message로 받은 부분을 챗봇이 슬랙 채널에 출력해준다. 30분마다 정해놓은 주식의 현재가를 알려주거나 원하는 조건을 정해놓고 조건을 달성하면 챗봇이 알려주는 등 여러 가지로 활용 가능하다.
관련 글:
파이썬으로 주식 현재가 알려주는 슬랙 (slack) 챗 봇 만들기
반응형
'컴퓨터 > Python' 카테고리의 다른 글
파이썬으로 주식 현재가 알려주는 슬랙 (slack) 채팅 봇 만들기 (0) | 2021.08.20 |
---|---|
특정 폴더에 있는 모든 엑셀파일 한 번에 합치는 방법 (파이썬) (4) | 2021.07.21 |
파이썬으로 히스토그램 그리기 (0) | 2021.06.28 |
파이썬으로 박스플롯 (box plot - 상자그림) 그리기 (0) | 2021.06.27 |
파이썬 (Python) 리스트에서 리스트 더하기 빼기 (0) | 2021.06.25 |
댓글