winterjung / chatterbox Goto Github PK
View Code? Open in Web Editor NEWPython library for Kakaotalk chatbot
License: MIT License
Python library for Kakaotalk chatbot
License: MIT License
pip freeze
결과물:altgraph==0.15
asn1crypto==0.24.0
astroid==1.6.5
autopep8==1.3.5
beautifulsoup4==4.6.0
bs4==0.0.1
certifi==2018.1.18
cffi==1.11.5
chardet==3.0.4
chatterbox.py==0.2.5
click==6.7
clipboard==0.0.4
colorama==0.3.9
cryptography==2.2.2
cycler==0.10.0
Cython==0.28.3
decrunch==0.3.0
deprecation==2.0
ez-setup==0.9
Flask==1.0.2
fsb5==1.0
future==0.16.0
hcapy==0.0.2
idna==2.6
imutils==0.4.5
isort==4.2.15
itsdangerous==0.24
Jinja2==2.10
kiwisolver==1.0.1
lazy-object-proxy==1.3.1
lz4==1.0.0
macholib==1.9
MarkupSafe==1.0
matplotlib==2.2.3
mccabe==0.6.1
myModule==1.0
mysql-connector-python==8.0.11
numpy==1.14.5+mkl
opencv-python==3.4.0
packaging==17.1
pefile==2017.11.5
pep8==1.7.1
Pillow==5.0.0
pycodestyle==2.4.0
pycparser==2.18
PyInstaller==3.3.1
pylint==1.9.2
PyMySQL==0.9.0
pyparsing==2.2.0
pyperclip==1.6.2
pypiwin32==223
pypng==0.0.18
PyQRCode==1.2.1
pytesseract==0.2.2
python-dateutil==2.7.3
pytz==2018.5
pywin32==223
rc4-python3==1.1.3
requests==2.19.1
rope==0.10.7
scipy==1.1.0
six==1.11.0
unitypack==0.9.0
urllib3==1.23
virtualenv==16.0.0
Werkzeug==0.14.1
wrapt==1.10.11
(테스트 할때 venv를 사용하지 않고 해서 좀 난잡하네요.)
카카오톡에서는 10분이 지나면 상태가 만료되어 /keyboard 를 호출하는데 챗봇에서는 만료된 상태가 반영이 되지 않네요. 언제부턴지 모르겠지만 갑자기 이럽니다.
flask_advance.py 의 마지막줄app.run(debug=True)
에서 host=0.0.0.0
만 추가한 후 그대로 사용해서 PowerShell 실행 후 python flask_advance.py
로 실행.
테스트에 이용한 플러스친구 계정은 버려진 친구를 이용했습니다.
examples에 Django로 동작하는 chatterbox 예제 추가
flask 예제를 실행하니 File "/Users/round/PycharmProjects/dkitBot/venv/lib/python2.7/site-packages/chatterbox/chatter.py", line 10
memory: str = 'dict',
^
SyntaxError: invalid syntax
이라고 발생이 됩니다.
카카오톡 플러스친구 관리자페이지에서 제공하는 자동응답 API 테스트로 동작을 테스트할 경우 keyboard 테스트가 실패함
Keyboard(['버튼1', '버튼2'])
위 Keyboard
객체는 다음과 동일한데
{
"keyboard": {
"buttons": [
"버튼1",
"버튼2"
],
"type": "buttons"
}
}
/keyboard
에서 반환해야하는 json 형식은 아래와 같아야 하기에 단순히 json.dumps(chatter.home())
을 하면 'keyboard'
key까지 포함되기 때문에 형식과 맞지 않게된다.
{
"buttons": [
"버튼1",
"버튼2"
],
"type": "buttons"
}
extensions
기능으로 chatter
에 등록된 rule
을 토대로 State 관계를 그래프 다이어그램으로 시각화하기
pip freeze
결과물:asn1crypto==0.24.0
cffi==1.11.5
chatterbox.py==0.2.5
click==6.7
cryptography==2.3.1
Flask==1.0.2
idna==2.7
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
pycparser==2.18
PyMySQL==0.9.2
six==1.11.0
Werkzeug==0.14.1
action="*"
인 rule 이 있는 상태일때 failback 함수의 action을 만족하더라도 action="*"
이 달린 함수가 실행이 됩니다. 이게 README 파일에 잘못 적힌것인지, 구현이 잘못된것인지 모르겠네요.
기대했던 동작은 README.md에 적힌대로 유저가 어떤 상태에 있더라도 원하는 dest로 이동을 하는 것이였는데 그렇지 않네요.
Appveyor를 이용해 CI에 윈도우 환경 추가
현재 chatterbox.memory.SqliteMemory
를 생성할 때 db 경로가 tempdir
의 chatterbox.db
로 고정되어 있어 두개 이상의 chatterbox 앱을 구동시킬 때 같은 db를 공유해 나중에 실행된 앱이 먼저 생성된 앱의 db를 삭제하는 문제가 발생한다.
0.2.1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.