Microsoft Bot Framework는 Microsoft의 Microsoft Bot API용 래퍼입니다. Flask를 사용하여 Microsoft 및 Celery로부터 게시 메시지를 수신하여 비동기 작업을 완료합니다.
목표는 Microsoft 봇 프레임워크와 인터페이스할 수 있도록 사용하기 매우 간단한 라이브러리를 만드는 것이었습니다.
전체 문서는 여기에서 찾을 수 있습니다: http://microsoftbotframework.readthedocs.io/
https://docs.botframework.com/en-us/tools/bot-framework-emulator/에서 시뮬레이터를 다운로드하고 실행하세요.
pip install microsoftbotframework
task.py라는 루트 디렉터리에 파일을 만듭니다. 파일에서 다음과 같이 작업을 정의합니다. ReplyToActivity 개체 및 기타 개체에 대한 자세한 내용은 http://microsoftbotframework.readthedocs.io/en/latest/conversationerations/에서 확인할 수 있습니다.
from microsoftbotframework import ReplyToActivity
def echo_response ( message ):
if message [ "type" ] == "message" :
ReplyToActivity ( fill = message ,
text = message [ "text" ]). send ()
from microsoftbotframework import MsBot
from tasks import *
bot = MsBot ()
bot . add_process ( echo_response )
if __name__ == '__main__' :
bot . run ()
python main.py
기본적으로 앱은 http://localhost:5000/api/messages에서 실행됩니다.
에뮬레이터의 엔드포인트 URL 입력 헤더에 이 주소를 입력합니다.
채팅을 시작하세요! 위의 지침을 따랐다면 입력한 내용이 다시 반복되어야 합니다.
Microsoft 봇 프레임워크와 상호 작용하려면 유효한 인증서가 있는 인터넷 연결 https 엔드포인트가 있어야 합니다. 이 가이드에서는 gunicorn 및 heroku를 사용하여 애플리케이션을 호스팅하는 방법을 보여 주지만 MsBot 개체가 Flask를 확장하므로 모든 wsgi 호스팅 옵션을 쉽게 사용할 수 있습니다.
https://dev.botframework.com/bots로 이동합니다. 봇을 등록하고 'Microsoft App ID'와 'Microsoft App Secret'을 생성합니다. 메시징 엔드포인트는 곧 생성할 예정이므로 걱정하지 마세요. 프로젝트 루트에 config.yaml 파일을 생성하고 다음 정보를 배치합니다.
other :
app_client_id :
app_client_secret :
요구 사항.txt라는 파일을 만들고 다음을 추가합니다.
microsoftbotframework
gunicorn
"Procfile"이라는 파일을 만들고 다음을 추가합니다. 우리는 웹 서버로 gunicorn을 사용할 것입니다. "--log-level INFO"를 제거하거나 프로덕션을 위해 더 낮은 수준으로 설정할 수 있습니다.
web: gunicorn -b '0.0.0.0:'$PORT --log-level INFO main:bot
Runtime.txt라는 파일을 만들고 다음을 추가합니다.
python-3.6.0
아직 git을 설치하지 않았다면
sudo apt-get install git
https://www.heroku.com/에서 Heroku 계정에 가입하고 새 앱을 만드세요. Heroku Git을 사용하여 배포 지침을 따르세요.
Microsoft MyBots 탭으로 돌아가서 메시징 끝점을 Heroku 설정 탭에 있는 도메인으로 업데이트합니다. URL에 "/api/messages"를 추가했는지 확인하세요.
축하합니다. 이제 Skype에서 봇과 채팅할 수 있습니다!
pip install -e .[test]
redis-server
mongod
nosetests
(1단계 라이브러리를 설치해야 함)python setup.py test
(1단계 라이브러리를 설치할 필요가 없음)