Docker의 mattermost와 로컬 파이썬에서 bot 연동
3251 단어 도커Python3botMattermost
환경
우분투 16.0.4
docker 18.03.1-ce
파이썬 3.5.2
mattermostdriver 사용
mattermost와의 상호 작용을 간단하게 해줍니다.
htps : // 기주 b. 코 m / ゔ ぁ r / py 텐 - r r도 std ri ょ r
파이썬 구현
flask로 웹 서버를 만듭니다.
flask에 대해서는 아래를 참고로 하십시오.
웹 애플리케이션 프레임워크 Flask 사용하기
from mattermostdriver import Driver
from flask import Flask, request
app = Flask(__name__)
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
mat = Driver({
'url': SERVER_URL,
'login_id': USER_EMAIL,
'password': USER_PASS,
'scheme': 'http',
'port': 8065,
'verify': False
})
mat.login()
@app.route('/kumobot', methods=['POST'])
def post():
req = request.json
dialog = req['text']
try:
mat.posts.create_post(options={
'channel_id': CHANNEL_ID,
'message': 'Hi!'
})
except Exception as e:
print(e)
return '200'
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0')
다음을 채우십시오.
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
나머지는 위의 구현을 적당히 이름을 붙여 (예 : botserver.py)
$ python3 botserver.py
에서 실행!
Running on XXX라는 표시가 나오면 성공입니다.
설정
outgoingwebhooks
아래를 참고하면서 webhook을 설정합니다.
Slack 클론의 Mattermost 사용하기 - 외부 연계편 - (WebHooks, Hubot)
통합기능 > 외향 웹훅을 선택하면 아래와 같은 화면이 나옵니다.
트리거 단어: 트리거가 될 키워드를 설정합니다. 이번에는 "kumo"로 만듭니다.
콜백 URL : 파이썬을 실행 한 서버의 URL과 포트를 작성합니다.
오류가 발생함
err=Post http://XXX:5000/kumobot: address forbidden
htps : // / cs. 멈춰서 r도 st. 코 m / 아 d 미에 st 라치온 / 콘후 ぃ g - 센친 gs. HTML? 히 gh gght = rs
여기에도 쓰여져 있지만 AllowedUntrustedInternalConnections에 IP 주소를 추가하는 것이 좋습니다.
$ docker cp {CONTAINER}:mm/mattermost/config/config_docker.json {LOCALFILEPATH}
$ vi {LOCALFILEPATH}
$ docker cp {LOCALFILEPATH} {CONTAINER}:mm/mattermost/config/config_docker.json
테스트
트리거 워드가 kumo이므로 hi kumo라면 연결되지 않습니다.
잘 작동했습니다!
Reference
이 문제에 관하여(Docker의 mattermost와 로컬 파이썬에서 bot 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aoi1/items/0d2ba16ed2a33f85900e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mattermost와의 상호 작용을 간단하게 해줍니다.
htps : // 기주 b. 코 m / ゔ ぁ r / py 텐 - r r도 std ri ょ r
파이썬 구현
flask로 웹 서버를 만듭니다.
flask에 대해서는 아래를 참고로 하십시오.
웹 애플리케이션 프레임워크 Flask 사용하기
from mattermostdriver import Driver
from flask import Flask, request
app = Flask(__name__)
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
mat = Driver({
'url': SERVER_URL,
'login_id': USER_EMAIL,
'password': USER_PASS,
'scheme': 'http',
'port': 8065,
'verify': False
})
mat.login()
@app.route('/kumobot', methods=['POST'])
def post():
req = request.json
dialog = req['text']
try:
mat.posts.create_post(options={
'channel_id': CHANNEL_ID,
'message': 'Hi!'
})
except Exception as e:
print(e)
return '200'
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0')
다음을 채우십시오.
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
나머지는 위의 구현을 적당히 이름을 붙여 (예 : botserver.py)
$ python3 botserver.py
에서 실행!
Running on XXX라는 표시가 나오면 성공입니다.
설정
outgoingwebhooks
아래를 참고하면서 webhook을 설정합니다.
Slack 클론의 Mattermost 사용하기 - 외부 연계편 - (WebHooks, Hubot)
통합기능 > 외향 웹훅을 선택하면 아래와 같은 화면이 나옵니다.
트리거 단어: 트리거가 될 키워드를 설정합니다. 이번에는 "kumo"로 만듭니다.
콜백 URL : 파이썬을 실행 한 서버의 URL과 포트를 작성합니다.
오류가 발생함
err=Post http://XXX:5000/kumobot: address forbidden
htps : // / cs. 멈춰서 r도 st. 코 m / 아 d 미에 st 라치온 / 콘후 ぃ g - 센친 gs. HTML? 히 gh gght = rs
여기에도 쓰여져 있지만 AllowedUntrustedInternalConnections에 IP 주소를 추가하는 것이 좋습니다.
$ docker cp {CONTAINER}:mm/mattermost/config/config_docker.json {LOCALFILEPATH}
$ vi {LOCALFILEPATH}
$ docker cp {LOCALFILEPATH} {CONTAINER}:mm/mattermost/config/config_docker.json
테스트
트리거 워드가 kumo이므로 hi kumo라면 연결되지 않습니다.
잘 작동했습니다!
Reference
이 문제에 관하여(Docker의 mattermost와 로컬 파이썬에서 bot 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aoi1/items/0d2ba16ed2a33f85900e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from mattermostdriver import Driver
from flask import Flask, request
app = Flask(__name__)
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
mat = Driver({
'url': SERVER_URL,
'login_id': USER_EMAIL,
'password': USER_PASS,
'scheme': 'http',
'port': 8065,
'verify': False
})
mat.login()
@app.route('/kumobot', methods=['POST'])
def post():
req = request.json
dialog = req['text']
try:
mat.posts.create_post(options={
'channel_id': CHANNEL_ID,
'message': 'Hi!'
})
except Exception as e:
print(e)
return '200'
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0')
SERVER_URL = ""
CHANNEL_ID = ""
USER_EMAIL = ""
USER_PASS = ""
$ python3 botserver.py
outgoingwebhooks
아래를 참고하면서 webhook을 설정합니다.
Slack 클론의 Mattermost 사용하기 - 외부 연계편 - (WebHooks, Hubot)
통합기능 > 외향 웹훅을 선택하면 아래와 같은 화면이 나옵니다.
트리거 단어: 트리거가 될 키워드를 설정합니다. 이번에는 "kumo"로 만듭니다.
콜백 URL : 파이썬을 실행 한 서버의 URL과 포트를 작성합니다.
오류가 발생함
err=Post http://XXX:5000/kumobot: address forbidden
htps : // / cs. 멈춰서 r도 st. 코 m / 아 d 미에 st 라치온 / 콘후 ぃ g - 센친 gs. HTML? 히 gh gght = rs
여기에도 쓰여져 있지만 AllowedUntrustedInternalConnections에 IP 주소를 추가하는 것이 좋습니다.
$ docker cp {CONTAINER}:mm/mattermost/config/config_docker.json {LOCALFILEPATH}
$ vi {LOCALFILEPATH}
$ docker cp {LOCALFILEPATH} {CONTAINER}:mm/mattermost/config/config_docker.json
테스트
트리거 워드가 kumo이므로 hi kumo라면 연결되지 않습니다.
잘 작동했습니다!
Reference
이 문제에 관하여(Docker의 mattermost와 로컬 파이썬에서 bot 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aoi1/items/0d2ba16ed2a33f85900e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Docker의 mattermost와 로컬 파이썬에서 bot 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aoi1/items/0d2ba16ed2a33f85900e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)