├── .codeclimate.yml ├── .coveragerc ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ └── Feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── issue-close-app.yml └── workflows │ └── test.yml ├── .gitignore ├── .gitmodules ├── .pipignore ├── .scrutinizer.yml ├── .style.yapf ├── .vscode └── settings.json ├── LICENSE ├── MANIFEST.in ├── README.rst ├── artwork └── logo.svg ├── bors.toml ├── dev-requirements.txt ├── docs-requirements.txt ├── docs ├── .gitignore ├── Makefile ├── _static │ ├── logo.png │ └── qq.png ├── _themes │ ├── LICENSE │ ├── README.rst │ ├── flask │ │ ├── layout.html │ │ ├── relations.html │ │ ├── sidebarintro.html │ │ ├── static │ │ │ └── flasky.css_t │ │ └── theme.conf │ └── flask_theme_support.py ├── api.rst ├── changelog.rst ├── client.rst ├── conf.py ├── config.rst ├── contrib.rst ├── contribution-guide.rst ├── deploy.rst ├── encryption.rst ├── error-page.rst ├── events.rst ├── handlers.rst ├── index.rst ├── make.bat ├── messages.rst ├── replies.rst ├── session.rst ├── start.rst └── utils.rst ├── example └── hello_world.py ├── pytest.ini ├── requirements.txt ├── setup.cfg ├── setup.py ├── tests ├── client_config.py ├── django_test_env │ ├── django_test │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ └── manage.py ├── messages │ └── test_entries.py ├── test_client.py ├── test_config.py ├── test_contrib.py ├── test_crypto.py ├── test_handler.py ├── test_logger.py ├── test_parser.py ├── test_replies.py ├── test_robot.py ├── test_session.py └── test_utils.py ├── tox-requirements.txt ├── tox.ini └── werobot ├── __init__.py ├── client.py ├── config.py ├── contrib ├── __init__.py ├── bottle.py ├── django.py ├── error.html ├── flask.py └── tornado.py ├── crypto ├── __init__.py ├── exceptions.py └── pkcs7.py ├── exceptions.py ├── logger.py ├── messages ├── __init__.py ├── base.py ├── entries.py ├── events.py └── messages.py ├── parser.py ├── pay.py ├── replies.py ├── robot.py ├── session ├── __init__.py ├── filestorage.py ├── mongodbstorage.py ├── mysqlstorage.py ├── postgresqlstorage.py ├── redisstorage.py ├── saekvstorage.py └── sqlitestorage.py ├── testing.py └── utils.py /.codeclimate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.codeclimate.yml -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.coveragerc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.github/ISSUE_TEMPLATE/Bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.github/ISSUE_TEMPLATE/Feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/issue-close-app.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.github/issue-close-app.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.pipignore: -------------------------------------------------------------------------------- 1 | WeRoBot 2 | distribute -------------------------------------------------------------------------------- /.scrutinizer.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.scrutinizer.yml -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.style.yapf -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/README.rst -------------------------------------------------------------------------------- /artwork/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/artwork/logo.svg -------------------------------------------------------------------------------- /bors.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/bors.toml -------------------------------------------------------------------------------- /dev-requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/dev-requirements.txt -------------------------------------------------------------------------------- /docs-requirements.txt: -------------------------------------------------------------------------------- 1 | -r tox-requirements.txt 2 | Sphinx==4.4.0 3 | Django 4 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_static/logo.png -------------------------------------------------------------------------------- /docs/_static/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_static/qq.png -------------------------------------------------------------------------------- /docs/_themes/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/LICENSE -------------------------------------------------------------------------------- /docs/_themes/README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/README.rst -------------------------------------------------------------------------------- /docs/_themes/flask/layout.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask/layout.html -------------------------------------------------------------------------------- /docs/_themes/flask/relations.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask/relations.html -------------------------------------------------------------------------------- /docs/_themes/flask/sidebarintro.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask/sidebarintro.html -------------------------------------------------------------------------------- /docs/_themes/flask/static/flasky.css_t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask/static/flasky.css_t -------------------------------------------------------------------------------- /docs/_themes/flask/theme.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask/theme.conf -------------------------------------------------------------------------------- /docs/_themes/flask_theme_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/_themes/flask_theme_support.py -------------------------------------------------------------------------------- /docs/api.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/api.rst -------------------------------------------------------------------------------- /docs/changelog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/changelog.rst -------------------------------------------------------------------------------- /docs/client.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/client.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/config.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/config.rst -------------------------------------------------------------------------------- /docs/contrib.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/contrib.rst -------------------------------------------------------------------------------- /docs/contribution-guide.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/contribution-guide.rst -------------------------------------------------------------------------------- /docs/deploy.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/deploy.rst -------------------------------------------------------------------------------- /docs/encryption.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/encryption.rst -------------------------------------------------------------------------------- /docs/error-page.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/error-page.rst -------------------------------------------------------------------------------- /docs/events.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/events.rst -------------------------------------------------------------------------------- /docs/handlers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/handlers.rst -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/messages.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/messages.rst -------------------------------------------------------------------------------- /docs/replies.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/replies.rst -------------------------------------------------------------------------------- /docs/session.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/session.rst -------------------------------------------------------------------------------- /docs/start.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/start.rst -------------------------------------------------------------------------------- /docs/utils.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/docs/utils.rst -------------------------------------------------------------------------------- /example/hello_world.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/example/hello_world.py -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | bottle 2 | requests 3 | xmltodict 4 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/setup.cfg -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/setup.py -------------------------------------------------------------------------------- /tests/client_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/client_config.py -------------------------------------------------------------------------------- /tests/django_test_env/django_test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/django_test_env/django_test/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/django_test_env/django_test/settings.py -------------------------------------------------------------------------------- /tests/django_test_env/django_test/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/django_test_env/django_test/urls.py -------------------------------------------------------------------------------- /tests/django_test_env/django_test/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/django_test_env/django_test/wsgi.py -------------------------------------------------------------------------------- /tests/django_test_env/manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/django_test_env/manage.py -------------------------------------------------------------------------------- /tests/messages/test_entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/messages/test_entries.py -------------------------------------------------------------------------------- /tests/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_client.py -------------------------------------------------------------------------------- /tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_config.py -------------------------------------------------------------------------------- /tests/test_contrib.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_contrib.py -------------------------------------------------------------------------------- /tests/test_crypto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_crypto.py -------------------------------------------------------------------------------- /tests/test_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_handler.py -------------------------------------------------------------------------------- /tests/test_logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_logger.py -------------------------------------------------------------------------------- /tests/test_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_parser.py -------------------------------------------------------------------------------- /tests/test_replies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_replies.py -------------------------------------------------------------------------------- /tests/test_robot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_robot.py -------------------------------------------------------------------------------- /tests/test_session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_session.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tox-requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tox-requirements.txt -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/tox.ini -------------------------------------------------------------------------------- /werobot/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/__init__.py -------------------------------------------------------------------------------- /werobot/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/client.py -------------------------------------------------------------------------------- /werobot/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/config.py -------------------------------------------------------------------------------- /werobot/contrib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /werobot/contrib/bottle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/contrib/bottle.py -------------------------------------------------------------------------------- /werobot/contrib/django.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/contrib/django.py -------------------------------------------------------------------------------- /werobot/contrib/error.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/contrib/error.html -------------------------------------------------------------------------------- /werobot/contrib/flask.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/contrib/flask.py -------------------------------------------------------------------------------- /werobot/contrib/tornado.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/contrib/tornado.py -------------------------------------------------------------------------------- /werobot/crypto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/crypto/__init__.py -------------------------------------------------------------------------------- /werobot/crypto/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/crypto/exceptions.py -------------------------------------------------------------------------------- /werobot/crypto/pkcs7.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/crypto/pkcs7.py -------------------------------------------------------------------------------- /werobot/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/exceptions.py -------------------------------------------------------------------------------- /werobot/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/logger.py -------------------------------------------------------------------------------- /werobot/messages/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | -------------------------------------------------------------------------------- /werobot/messages/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/messages/base.py -------------------------------------------------------------------------------- /werobot/messages/entries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/messages/entries.py -------------------------------------------------------------------------------- /werobot/messages/events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/messages/events.py -------------------------------------------------------------------------------- /werobot/messages/messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/messages/messages.py -------------------------------------------------------------------------------- /werobot/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/parser.py -------------------------------------------------------------------------------- /werobot/pay.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/pay.py -------------------------------------------------------------------------------- /werobot/replies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/replies.py -------------------------------------------------------------------------------- /werobot/robot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/robot.py -------------------------------------------------------------------------------- /werobot/session/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/__init__.py -------------------------------------------------------------------------------- /werobot/session/filestorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/filestorage.py -------------------------------------------------------------------------------- /werobot/session/mongodbstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/mongodbstorage.py -------------------------------------------------------------------------------- /werobot/session/mysqlstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/mysqlstorage.py -------------------------------------------------------------------------------- /werobot/session/postgresqlstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/postgresqlstorage.py -------------------------------------------------------------------------------- /werobot/session/redisstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/redisstorage.py -------------------------------------------------------------------------------- /werobot/session/saekvstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/saekvstorage.py -------------------------------------------------------------------------------- /werobot/session/sqlitestorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/session/sqlitestorage.py -------------------------------------------------------------------------------- /werobot/testing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/testing.py -------------------------------------------------------------------------------- /werobot/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/offu/WeRoBot/HEAD/werobot/utils.py --------------------------------------------------------------------------------