{ "info": { "author": "Richard Chien", "author_email": "richardchienthebest@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "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/none-bot.svg)](LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/none-bot.svg)](https://pypi.python.org/pypi/none-bot)\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-201865589-orange.svg)](https://jq.qq.com/?_wv=1027&k=5Euplde)\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.2+\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/none-bot/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/none-bot", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "none-bot", "package_url": "https://pypi.org/project/none-bot/", "platform": "any", "project_url": "https://pypi.org/project/none-bot/", "project_urls": { "Homepage": "https://github.com/richardchien/none-bot" }, "release_url": "https://pypi.org/project/none-bot/0.5.3/", "requires_dist": null, "requires_python": ">=3.6", "summary": "An asynchronous QQ bot framework based on CoolQ.", "version": "0.5.3" }, "last_serial": 4636929, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b7dcbac0a24d6ebf5874124050f5245c", "sha256": "7104c3c05c926c6b3074e6cca9a9ce2da12efb211d4d81710c0a48c03df66007" }, "downloads": -1, "filename": "none-bot-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b7dcbac0a24d6ebf5874124050f5245c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11561, "upload_time": "2018-07-22T14:29:38", "url": "https://files.pythonhosted.org/packages/8b/31/93a7bf45bb898a77a1d84b88872104153af0f90332810dccaeacb11c328b/none-bot-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e60192792c1d4e891fcac35e8797f04b", "sha256": "21d6c08f30539d170c5f3ee9ec20809dc0374e44b20b0a639a1fbd557dba4de3" }, "downloads": -1, "filename": "none-bot-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e60192792c1d4e891fcac35e8797f04b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13845, "upload_time": "2018-08-16T17:03:14", "url": "https://files.pythonhosted.org/packages/a7/e0/b802efb799675171a392aa44d9585b32e84532d61e6eb4aed181f18cfe65/none-bot-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "eca19504609529056bde64e1d60fcafc", "sha256": "2e454b55732015716777df5f97813c43adb3aa72136efc63408e51ce5ad195de" }, "downloads": -1, "filename": "none-bot-0.2.1.tar.gz", "has_sig": false, "md5_digest": "eca19504609529056bde64e1d60fcafc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13883, "upload_time": "2018-08-17T17:34:26", "url": "https://files.pythonhosted.org/packages/f1/b9/f739d4ffc69afeecce4ab7154f46e8cab62aa277632944d5754034ac5dec/none-bot-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "06896886262507f74cec6db350d44737", "sha256": "9ea9ae65373c0d9e260ec1d24cd390a47307c18903501d4299f5c398219901ba" }, "downloads": -1, "filename": "none-bot-0.2.2.tar.gz", "has_sig": false, "md5_digest": "06896886262507f74cec6db350d44737", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14006, "upload_time": "2018-08-22T16:01:56", "url": "https://files.pythonhosted.org/packages/20/75/859cad97fce2a5fffb7ec8348cb9b4f5e4e4f240f3650abb599023e05f44/none-bot-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9e808dbc37d70cc6013efa390be4911a", "sha256": "c858364814cf613662351040c8d03ab35bc39bbda1641f2a2a9cf53aab7fa5c4" }, "downloads": -1, "filename": "none-bot-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9e808dbc37d70cc6013efa390be4911a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14279, "upload_time": "2018-08-26T03:33:43", "url": "https://files.pythonhosted.org/packages/59/1e/638a4266643c11e1ffdfb4d4c268ddb857a8d666ecaf4a0d8d99fb55da9a/none-bot-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "86907bc3b07d3d72aa14b112596ee997", "sha256": "23b2c1dbe21cca2d23d8cef3c0ea65d9545495623d6508d5571e3fdc0b7a6018" }, "downloads": -1, "filename": "none-bot-0.3.1.tar.gz", "has_sig": false, "md5_digest": "86907bc3b07d3d72aa14b112596ee997", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16084, "upload_time": "2018-08-26T05:45:29", "url": "https://files.pythonhosted.org/packages/19/01/9bfa7d2d80c17e0871c7f73b6cb0872ba3b51cb64b7454e911290fda3e63/none-bot-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "43f523f248836f6fa1e2186657fd29ab", "sha256": "8617d3d6ac019de0da8450c970dbf4fbb88561db42859806231b28d976584741" }, "downloads": -1, "filename": "none-bot-0.3.2.tar.gz", "has_sig": false, "md5_digest": "43f523f248836f6fa1e2186657fd29ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16434, "upload_time": "2018-10-14T15:04:51", "url": "https://files.pythonhosted.org/packages/01/72/868c0b3404a5eb2fe354ead23c5873b947a3de0bc5bafae81797f8bcb123/none-bot-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a98098448a6e095ef867f607da241fbd", "sha256": "7a79fbdc1af93a3d127458099ad090e3ae113f57c3558b57cb09012b453f361e" }, "downloads": -1, "filename": "none-bot-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a98098448a6e095ef867f607da241fbd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16527, "upload_time": "2018-10-15T17:10:37", "url": "https://files.pythonhosted.org/packages/99/5f/a4c986a213b1c2b9ba4958d3be79515bd12cab0073472c80dbd423ab661f/none-bot-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b01ff180dc33683c8d0c5aa4b0dcd9a3", "sha256": "d3326f3374eeb5496ffd11c5af5e2ed738408f503eb5db02b4c36b59773680a1" }, "downloads": -1, "filename": "none-bot-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b01ff180dc33683c8d0c5aa4b0dcd9a3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16601, "upload_time": "2018-11-11T04:41:19", "url": "https://files.pythonhosted.org/packages/55/46/c11319bc8ce9255846a28b32b0e162038506283dcd3b3c8e6cbe50fc3c41/none-bot-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "e3f53225ca18eeb0e8b1c137323750e1", "sha256": "d2d8a8942578e3269b742419ab32ff916226a47d27bc6c5b62ae2a70e05d6c45" }, "downloads": -1, "filename": "none-bot-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e3f53225ca18eeb0e8b1c137323750e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16778, "upload_time": "2018-12-11T05:07:33", "url": "https://files.pythonhosted.org/packages/7f/9d/593184c23e011a6b2bdc41383c0e9424468fa4574735b076d24a3b4e6318/none-bot-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "39c2ac32a3c4f991a9457db25b9a3a9b", "sha256": "0717b7081a90953eab84aa8e89d818da277e40c4f4cdecbde9afd8430f825b72" }, "downloads": -1, "filename": "none-bot-0.4.3.tar.gz", "has_sig": false, "md5_digest": "39c2ac32a3c4f991a9457db25b9a3a9b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16824, "upload_time": "2018-12-17T09:28:02", "url": "https://files.pythonhosted.org/packages/95/b8/b4e341a0cbd6376fe68ce89b622df9a70871ab71e60666e9cd72368c39d2/none-bot-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fdbede75be741db378a08f038bbe1c9f", "sha256": "9744a21c0e8b34d90f155a3785b8d22f71c87b688053e71a037b742e61778352" }, "downloads": -1, "filename": "none-bot-0.5.0.tar.gz", "has_sig": false, "md5_digest": "fdbede75be741db378a08f038bbe1c9f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17255, "upload_time": "2018-12-22T16:03:34", "url": "https://files.pythonhosted.org/packages/dc/21/aed309eb539cdfc6042f2d7416bddb04682106422da70e0196be2f7f7973/none-bot-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e1b98e7be0ecffc57fc3c504ab70a128", "sha256": "71458fc3245b1e9ad7af00436731e0d7f3eecf49e8e074ec2dd1f736dd60cd55" }, "downloads": -1, "filename": "none-bot-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e1b98e7be0ecffc57fc3c504ab70a128", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17331, "upload_time": "2018-12-23T15:31:07", "url": "https://files.pythonhosted.org/packages/bc/37/269013978283bfef1ffbd96f116304ac2e3e7747023f995ae45a181b1fb4/none-bot-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "db9a47692e8ab44b46a9b49e20f9586b", "sha256": "4c8e9dfac619dc86131a29fa0489362a4beed5a502ae0b35b12e83922076a1f5" }, "downloads": -1, "filename": "none-bot-0.5.2.tar.gz", "has_sig": false, "md5_digest": "db9a47692e8ab44b46a9b49e20f9586b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17698, "upload_time": "2018-12-25T12:47:01", "url": "https://files.pythonhosted.org/packages/3c/50/45a786c689fe949b460ccb6a1773a321ee29898cd0b2d76eb08b33dfcad2/none-bot-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "1d8b26c09c37ae0d3ded1fab96859916", "sha256": "6c8c77416c96a5b35b4d389a89af1651a3730a353ebe86271738eb7eae0674b5" }, "downloads": -1, "filename": "none-bot-0.5.3.tar.gz", "has_sig": false, "md5_digest": "1d8b26c09c37ae0d3ded1fab96859916", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17875, "upload_time": "2018-12-27T06:10:18", "url": "https://files.pythonhosted.org/packages/93/c6/5470cff52556291b5ac2182b08523060c5c59c1ffffef42fcc2adf202a81/none-bot-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1d8b26c09c37ae0d3ded1fab96859916", "sha256": "6c8c77416c96a5b35b4d389a89af1651a3730a353ebe86271738eb7eae0674b5" }, "downloads": -1, "filename": "none-bot-0.5.3.tar.gz", "has_sig": false, "md5_digest": "1d8b26c09c37ae0d3ded1fab96859916", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17875, "upload_time": "2018-12-27T06:10:18", "url": "https://files.pythonhosted.org/packages/93/c6/5470cff52556291b5ac2182b08523060c5c59c1ffffef42fcc2adf202a81/none-bot-0.5.3.tar.gz" } ] }