{ "info": { "author": "Richard Chien", "author_email": "richardchienthebest@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Robot Framework", "Framework :: Robot Framework :: Library", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "# NoneBot\n\n[![License](https://img.shields.io/github/license/richardchien/nonebot.svg)](LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/nonebot.svg)](https://pypi.python.org/pypi/nonebot)\n![Python](https://img.shields.io/badge/python-3.6%2B-blue.svg)\n[![QQ \u7fa4](https://img.shields.io/badge/qq%E7%BE%A4-768887710-orange.svg)](https://jq.qq.com/?_wv=1027&k=5OFifDh)\n[![Telegram](https://img.shields.io/badge/telegram-chat-blue.svg)](https://t.me/cqhttp)\n[![QQ \u7248\u672c\u53d1\u5e03\u7fa4](https://img.shields.io/badge/%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E7%BE%A4-218529254-green.svg)](https://jq.qq.com/?_wv=1027&k=5Nl0zhE)\n[![Telegram \u7248\u672c\u53d1\u5e03\u9891\u9053](https://img.shields.io/badge/%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E9%A2%91%E9%81%93-join-green.svg)](https://t.me/cqhttp_release)\n\n## \u7b80\u4ecb\n\nNoneBot \u662f\u4e00\u4e2a\u57fa\u4e8e [\u9177 Q](https://cqp.cc/) \u7684 Python \u5f02\u6b65 QQ \u673a\u5668\u4eba\u6846\u67b6\uff0c\u5b83\u4f1a\u5bf9 QQ \u673a\u5668\u4eba\u6536\u5230\u7684\u6d88\u606f\u8fdb\u884c\u89e3\u6790\u548c\u5904\u7406\uff0c\u5e76\u4ee5\u63d2\u4ef6\u5316\u7684\u5f62\u5f0f\uff0c\u5206\u53d1\u7ed9\u6d88\u606f\u6240\u5bf9\u5e94\u7684\u547d\u4ee4\u5904\u7406\u5668\u548c\u81ea\u7136\u8bed\u8a00\u5904\u7406\u5668\uff0c\u6765\u5b8c\u6210\u5177\u4f53\u7684\u529f\u80fd\u3002\n\n\u9664\u4e86\u8d77\u5230\u89e3\u6790\u6d88\u606f\u7684\u4f5c\u7528\uff0cNoneBot \u8fd8\u4e3a\u63d2\u4ef6\u63d0\u4f9b\u4e86\u5927\u91cf\u5b9e\u7528\u7684\u9884\u8bbe\u64cd\u4f5c\u548c\u6743\u9650\u63a7\u5236\u673a\u5236\uff0c\u5c24\u5176\u5bf9\u4e8e\u547d\u4ee4\u5904\u7406\u5668\uff0c\u5b83\u66f4\u662f\u63d0\u4f9b\u4e86\u5b8c\u5584\u4e14\u6613\u7528\u7684\u4f1a\u8bdd\u673a\u5236\u548c\u5185\u90e8\u8c03\u7528\u673a\u5236\uff0c\u4ee5\u5206\u522b\u9002\u5e94\u547d\u4ee4\u7684\u8fde\u7eed\u4ea4\u4e92\u548c\u63d2\u4ef6\u5185\u90e8\u529f\u80fd\u590d\u7528\u7b49\u9700\u6c42\u3002\n\nNoneBot \u5728\u5176\u5e95\u5c42\u4e0e\u9177 Q \u4ea4\u4e92\u7684\u90e8\u5206\u4f7f\u7528 [python-aiocqhttp](https://github.com/richardchien/python-aiocqhttp) \u5e93\uff0c\u540e\u8005\u662f [CoolQ HTTP API \u63d2\u4ef6](https://cqhttp.cc/) \u7684\u4e00\u4e2a Python \u5f02\u6b65 SDK\uff0c\u5728 [Quart](https://pgjones.gitlab.io/quart/) \u7684\u57fa\u7840\u4e0a\u5c01\u88c5\u4e86\u4e0e CoolQ HTTP API \u63d2\u4ef6\u7684\u7f51\u7edc\u4ea4\u4e92\u3002\n\n\u5f97\u76ca\u4e8e Python \u7684 [asyncio](https://docs.python.org/3/library/asyncio.html) \u673a\u5236\uff0cNoneBot \u5904\u7406\u6d88\u606f\u7684\u541e\u5410\u91cf\u6709\u4e86\u5f88\u5927\u7684\u4fdd\u969c\uff0c\u518d\u914d\u5408 CoolQ HTTP API \u63d2\u4ef6\u53ef\u9009\u7684 WebSocket \u901a\u4fe1\u65b9\u5f0f\uff08\u4e5f\u662f\u6700\u5efa\u8bae\u7684\u901a\u4fe1\u65b9\u5f0f\uff09\uff0cNoneBot \u7684\u6027\u80fd\u53ef\u4ee5\u8fbe\u5230 HTTP \u901a\u4fe1\u65b9\u5f0f\u7684\u4e24\u500d\u4ee5\u4e0a\uff0c\u76f8\u8f83\u4e8e\u4f20\u7edf\u540c\u6b65 I/O \u7684 HTTP \u901a\u4fe1\uff0c\u66f4\u662f\u6709\u8d28\u7684\u98de\u8dc3\u3002\n\n\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0cNoneBot \u4ec5\u652f\u6301 Python 3.6.1+ \u53ca CoolQ HTTP API \u63d2\u4ef6 v4.7+\u3002\n\n## \u793a\u610f\u56fe\n\n![](diagram.png)\n\n## \u6587\u6863\n\n\u6587\u6863\u76ee\u524d\u300c\u6307\u5357\u300d\u548c\u300cAPI\u300d\u90e8\u5206\u5df2\u7ecf\u5b8c\u6210\uff0c\u300c\u8fdb\u9636\u300d\u90e8\u5206\u5c1a\u672a\u5b8c\u6210\uff0c\u4f60\u53ef\u4ee5\u5728 [\u8fd9\u91cc](https://none.rclab.tk/) \u67e5\u770b\u6b63\u5728\u7f16\u5199\u4e2d\u7684\u6587\u6863\u3002\n\n## \u8d21\u732e\n\n\u5982\u679c\u4f60\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u4efb\u4f55\u95ee\u9898\uff0c\u53ef\u4ee5 [\u63d0\u4ea4 issue](https://github.com/richardchien/nonebot/issues/new) \u6216\u81ea\u884c fork \u4fee\u6539\u540e\u63d0\u4ea4 pull request\u3002\n\n\u5982\u679c\u4f60\u8981\u63d0\u4ea4 pull request\uff0c\u8bf7\u786e\u4fdd\u4f60\u7684\u4ee3\u7801\u98ce\u683c\u548c\u9879\u76ee\u5df2\u6709\u7684\u4ee3\u7801\u4fdd\u6301\u4e00\u81f4\uff0c\u9075\u5faa [PEP 8](https://www.python.org/dev/peps/pep-0008/)\uff0c\u53d8\u91cf\u547d\u540d\u6e05\u6670\uff0c\u6709\u9002\u5f53\u7684\u6ce8\u91ca\u3002", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/richardchien/nonebot", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "nonebot", "package_url": "https://pypi.org/project/nonebot/", "platform": "any", "project_url": "https://pypi.org/project/nonebot/", "project_urls": { "Homepage": "https://github.com/richardchien/nonebot" }, "release_url": "https://pypi.org/project/nonebot/1.3.1/", "requires_dist": null, "requires_python": ">=3.6.1", "summary": "An asynchronous QQ bot framework based on CoolQ.", "version": "1.3.1" }, "last_serial": 5469282, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "dc1267468dc5ddc5e4f0300783f1bbe6", "sha256": "74c385a193cf9063e1740a6385d748ae5f28f22f35c3fec5521136aac9158786" }, "downloads": -1, "filename": "nonebot-1.0.0.tar.gz", "has_sig": false, "md5_digest": "dc1267468dc5ddc5e4f0300783f1bbe6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 17755, "upload_time": "2018-12-27T14:53:16", "url": "https://files.pythonhosted.org/packages/34/93/c301e7f31d0feb6b30ef9a05a243480aaa05b84492ba0ba61869dbe6f947/nonebot-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "80800f20a91cfdb6755f62445edec670", "sha256": "b88f1c298b69d1d3b493e4a7ed6210875be55d28343ab30879e8201e48fe1f68" }, "downloads": -1, "filename": "nonebot-1.1.0.tar.gz", "has_sig": false, "md5_digest": "80800f20a91cfdb6755f62445edec670", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 18332, "upload_time": "2019-01-06T14:02:41", "url": "https://files.pythonhosted.org/packages/dd/33/6df1a668436dee6b79dbec9bc7ef8fa19389e145f4aa4fe6a5f90b1aeca7/nonebot-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "a6796680850e9b7b811892a1b9aa3d74", "sha256": "1c8d1154c0720fb89949398806b2c46c67ba49fdd6555f6b3c04a9540869b7da" }, "downloads": -1, "filename": "nonebot-1.2.0.tar.gz", "has_sig": false, "md5_digest": "a6796680850e9b7b811892a1b9aa3d74", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21205, "upload_time": "2019-01-25T14:43:48", "url": "https://files.pythonhosted.org/packages/92/32/cb14f5f356196b03d2b7275f5d4d87c45d36da167dc16ee3e822710e90bb/nonebot-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "6e7933fd8a877aff1f8f65bd1826ef72", "sha256": "c09664ec01bf84fd6a5bf1348c263fa9bef1b90d7dcd1c880d062a899381a377" }, "downloads": -1, "filename": "nonebot-1.2.1.tar.gz", "has_sig": false, "md5_digest": "6e7933fd8a877aff1f8f65bd1826ef72", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21207, "upload_time": "2019-01-26T14:28:40", "url": "https://files.pythonhosted.org/packages/0d/26/c8cc9a49e583d91be6ad495eea4c2705e69404f9a283107e528521946d1f/nonebot-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "979b5649e411c3e36526a8f1261de2d4", "sha256": "ae194b8493cb50a5abdedee4992eef7d37075394cc3efbfdae5ed70c47f126a4" }, "downloads": -1, "filename": "nonebot-1.2.2.tar.gz", "has_sig": false, "md5_digest": "979b5649e411c3e36526a8f1261de2d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21267, "upload_time": "2019-02-01T11:46:06", "url": "https://files.pythonhosted.org/packages/75/79/2c70418844de1b98ea78876626c3c87393a38a0b3d3ee07d3ae6778f9b59/nonebot-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "02573123e82e94c39d6800044e145953", "sha256": "6efbe88a04e519b3a860d85b9919aa28e9ac54c2d9454ed5df21f27ab7242b55" }, "downloads": -1, "filename": "nonebot-1.2.3.tar.gz", "has_sig": false, "md5_digest": "02573123e82e94c39d6800044e145953", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21279, "upload_time": "2019-02-03T03:53:32", "url": "https://files.pythonhosted.org/packages/58/d4/94d62b331fe7a47bbbfbfc5b0081543b606ebd66516bb3ed931fcd10168e/nonebot-1.2.3.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "9ecf43d4c5e7f8403cff41d762b58084", "sha256": "f48b38a78b53aa7b42ba266e7a881db65422a270ef32c53e0a003fc59f2958cd" }, "downloads": -1, "filename": "nonebot-1.3.0.tar.gz", "has_sig": false, "md5_digest": "9ecf43d4c5e7f8403cff41d762b58084", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21905, "upload_time": "2019-02-22T09:52:06", "url": "https://files.pythonhosted.org/packages/51/8a/6860d82991848dc9fb27454e5933c1c22895729a3a0245406f68d66d2597/nonebot-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "c56b1c87e6f0b9057fbec40e1b3d4ff8", "sha256": "a0eec47fce35a1f361de7d89a33ed8aa137c268e9e3459b17bedd0c5ae9cb990" }, "downloads": -1, "filename": "nonebot-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c56b1c87e6f0b9057fbec40e1b3d4ff8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21808, "upload_time": "2019-07-01T02:09:50", "url": "https://files.pythonhosted.org/packages/e1/02/de6b2bf2932161d8714e4dcf43a9a484c518c5eb97152717c23fb53050fa/nonebot-1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c56b1c87e6f0b9057fbec40e1b3d4ff8", "sha256": "a0eec47fce35a1f361de7d89a33ed8aa137c268e9e3459b17bedd0c5ae9cb990" }, "downloads": -1, "filename": "nonebot-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c56b1c87e6f0b9057fbec40e1b3d4ff8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 21808, "upload_time": "2019-07-01T02:09:50", "url": "https://files.pythonhosted.org/packages/e1/02/de6b2bf2932161d8714e4dcf43a9a484c518c5eb97152717c23fb53050fa/nonebot-1.3.1.tar.gz" } ] }