티스토리 뷰
[Slack]
여러 사람이 프로젝트를 할때 메신저로 많은 이야기를 합니다.
그중에 요즘에 가장 많이 쓰고 유용한 Slack 이 있습니다.
이것이 좋은 이유는 채팅방에 새로온 초대된 사람이 이전 내용을 다 볼 수 있습니다.
이전 히스토리를 따로 설명하는 비용을 줄일 수 있습니다.
slackclient 버전 1.30 기준
[chat bot]
슬랙을 이용하여 챗봇을 만들어 보겠습니다.
우선 슬랙의 기능을 사용하기 위해서는 토큰을 얻어야 합니다.
https://api.slack.com/custom-integrations/legacy-tokens
발급받은 토큰은 따로 저장해 두세요.
from slacker import Slacker
import time
slack_token = '발급받은토큰'
def notification(massage):
slack = Slacker(slack_token)
slack.chat.post_message('#채널',massage)
위의 코드로 간단하게 해당 채널로 메세지를 보낼 수 있습니다.
from slacker import Slacker
import time
slack_token = '발급받은토큰'
def notification(massage):
slack = Slacker(slack_token)
slack.chat.post_message('#채널',massage,'python bot')
from slackclient import SlackClient
sc = SlackClient(slack_token)
if sc.rtm_connect():
while True:
recive_data = sc.rtm_read()
if len(recive_data):
keys = list(recive_data[0].keys())
if 'type' in keys and 'text' in keys :
print(recive_data[0]['text'])
time.sleep(1)
else:
print("connection failed")
받은 메세지를 실시간으로 찍는 코드 입니다.
여기서는 반복적으로 보내는게 필터가 안되기 때문에 좀 수정을 해줘야 합니다.
from slacker import Slacker
import time
slack_token = '발급받은토큰'
def notification(massage):
slack = Slacker(slack_token)
slack.chat.post_message('#채널',massage, 'python bot')
from slackclient import SlackClient
sc = SlackClient(slack_token)
if sc.rtm_connect():
while True:
recive_data = sc.rtm_read()
if len(recive_data):
keys = list(recive_data[0].keys())
# if 'type' in keys and 'text' in keys :
if 'type' in keys and 'text' in keys and 'user' in keys:
print(recive_data[0])
massage = recive_data[0]['text']
notification(massage + '이거?')
time.sleep(1)
else:
print("connection failed")
이렇게 조건검사를 할때 type, text, user 를 검사하는 이유는
파이썬에서 계속 서로 핑퐁되면서 무한히 보내는걸 막기 위함입니다.
mac 에서 ssl 문제가 있을 경우
여기서 다운 받은후
환경변수에
export WEBSOCKET_CLIENT_CA_BUNDLE=DigiCertGlobalRootCA.crt
환경변수 설정
파이썬 코드에
import os
os.environ['REQUESTS_CA_BUNDLE'] = '/path/YourRootCertificate.crt' # Requests
os.environ['SSL_CERT_FILE'] = '/path/YourRootCertificate.crt' # OpenSSL
os.environ['SSL_CERT_DIR'] = '/path/'
direct message 보내는 법(dm channel 확인하기)
'python lecture > project' 카테고리의 다른 글
[edu] 가위바위보 게임 (랜덤, 확률, 결과 예측) (0) | 2019.01.10 |
---|---|
[edu] 계산기 테스트 자동화 (수식 자동생성) (0) | 2019.01.09 |
[edu] 연락처 (push, pull, csv) (0) | 2018.12.31 |
[edu] 계산기 (사칙연산, 괄호, 입력식 오류 처리) (0) | 2018.12.28 |
[edu] Crawling (0) | 2018.08.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- chatbot
- pycrypto
- 플러스친구 자동응답
- 면접정답
- 문서 비교
- 문과 코딩
- virtualenv
- django
- Python
- 파이썬 입문
- 파이썬 독학
- gitlab
- 이미지 비교
- Tistory
- 면접답변
- 파이썬
- 엑셀 비교
- GIT
- django chatbot
- 장고
- 장고 플러스친구 자동응답
- 장고 카톡 자동응답
- admin.py
- PuTTYGen
- gitignore
- 모바일 테마 적용
- 파이썬 프로그래밍
- 모바일 스킨 적용
- 파이썬 강좌
- wsgi
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함