{ "info": { "author": "7sDream", "author_email": "didislover@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: No Input/Output (Daemon)", "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Database", "Topic :: Internet :: WWW/HTTP" ], "description": "# Thank you follow me - \u8c22\u8c22\u4f60\u5173\u6ce8\u6211\u5440\uff01\n\n## \u7b80\u4ecb\n\n\u8fd9\u662f\u4e00\u4e2a\u7528\u4e8e\u81ea\u52a8\u7ed9\u77e5\u4e4e\u91cc\u4f60\u7684\u65b0\u5173\u6ce8\u8005\u53d1\u9001\u4e00\u6761\u4fe1\u606f\u7684\u540e\u53f0\u670d\u52a1\u3002\n\n\u6280\u672f\u6808\u4ec0\u4e48\u7684\u975e\u5e38\u7b80\u5355\uff1a\n\n- \u4ee5\u524d\u5199\u7684 `zhihu-py3` \u7528\u4e8e\u83b7\u53d6\u77e5\u4e4e\u4fe1\u606f\n- \u7528 `sqlite` \u6570\u636e\u5e93\u4fdd\u5b58\u8001\u7684\u5173\u6ce8\u8005\n- `daemon.py` \u7528\u4e8e\u5728 *unix \u73af\u5883\u4e0b\u521b\u5efa daemon proc\n\n## \u4f7f\u7528\n\n### \u5b89\u88c5\n\n```bash\nsudo python3 install qqqfome\n```\n\n### \u521b\u5efa\u5de5\u4f5c\u76ee\u5f55\n\n```bash\ncd /path/that/you/want\nmkdir qqqfome_work\ncd qqqfome_work\n```\n\n### \u521d\u59cb\u5316\u6570\u636e\u5e93\n\n```bash\nqqqfome -v init\n```\n\n\u7136\u540e\u6839\u636e\u63d0\u793a\u767b\u5f55\u77e5\u4e4e\u3002\n\n\u8fc7\u7a0b\u4e2d\u9700\u8981\u9a8c\u8bc1\u7801\u2026\u2026\u5982\u679c\u4f60\u662f\u5728VPS\u4e0a\u90e8\u7f72\u7684\u8bdd\uff0c\u4f60\u5f97\u60f3\u529e\u6cd5\u628a `captcha.gif` \u6587\u4ef6\u4ece\u8fdc\u7a0b\u670d\u52a1\u5668\u5f04\u5230\u672c\u5730\u6765\u67e5\u770b\u9a8c\u8bc1\u7801\u2026\u2026 \n\n\u5176\u5b9e\u6211\u66f4\u5efa\u8bae\u5728\u672c\u5730\u7528 `zhihu-py3` \u751f\u6210 cookies \u518d\u5f04\u5230 VPS \u4e0a\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u4f7f\u7528\uff1a\n\n```bash\nqqqfome -c /path/to/cookie -v init\n```\n\n\u6765\u7701\u7565\u767b\u5f55\u6b65\u9aa4\u3002\n\n\u5982\u679c\u4e00\u5207\u6b63\u5e38\u7684\u8bdd\uff0c\u4f60\u4f1a\u5f97\u5230\u4e00\u4e2a sqlite \u6570\u636e\u5e93\u6587\u4ef6\u3002\u540d\u5b57\u662f `.sqlite3`\n\n### \u542f\u52a8\n\n```bash\nqqqfome -m $'I\\'m {my_name}:\\nThank you follow me.' -d start .sqlite3\n```\n\n\uff08\u5982\u679c\u53ea\u662f\u6d4b\u8bd5\u7684\u8bdd\uff0c\u53ef\u4ee5\u53bb\u6389 `-d` \u53c2\u6570\uff0c\u8ba9\u4ed6\u5728\u524d\u53f0\u6a21\u5f0f\u8fd0\u884c\u3002\uff09\n\n`-m` \u53c2\u6570\u540e\u8ddf\u9700\u8981\u53d1\u9001\u7684\u4fe1\u606f\u3002\u6ce8\u610f\uff0c\u5982\u679c\u4f60\u5728\u6d88\u606f\u5185\u90e8\u4f7f\u7528\u4e86\u8f6c\u4e49\u5b57\u7b26\uff0c\u90a3\u4e48\u5355\u5f15\u53f7\u524d\u7684`$`\u7b26\u53f7\u662f\u5fc5\u9700\u7684\u3002\n\n\u6216\u8005\u4f60\u53ef\u4ee5\u5c06\u4fe1\u606f\u5199\u5728\u4e00\u4e2a\u6587\u4ef6\u91cc\uff0c\u7136\u540e\u4f7f\u7528 `-M` \u53c2\u6570\u6307\u5b9a\u6b64\u6587\u4ef6\u3002\n\n\u4e24\u4e2a\u90fd\u6ca1\u6709\u6307\u5b9a\u7684\u8bdd\uff0c\u9ed8\u8ba4\u7684\u6d88\u606f\u662f\uff1a\n\n```text\n\u4f60\u597d{your_name}\uff0c\u6211\u662f{my_name}\uff0c\u8c22\u8c22\u4f60\u5173\u6ce8\u6211\uff0c\u4f60\u662f\u6211\u7684\u7b2c{follower_num}\u53f7\u5173\u6ce8\u8005\u54df\uff01\n\n\u672c\u6d88\u606f\u7531qqqfome\u9879\u76ee\u81ea\u52a8\u53d1\u9001\u3002\n\u9879\u76ee\u5730\u5740\uff1ahttps://github.com/7sDream/qqqfome\n{now}\n```\n\n\u7a0b\u5e8f\u652f\u6301\u7684\u4e5f\u5c31\u662f\u4f8b\u5b50\u91cc\u7684\u8fd9\u51e0\u4e2a\u5b8f\u4e86\u2026\u2026\n\n## \u67e5\u770bLog\n\n```bash\ntail -f .sqlite3.log\n```\n\n\u9ed8\u8ba4\u7684 log \u6587\u4ef6\u540d\u662f `.sqlite3.log`\n\n\u8fd8\u6709\u4e00\u4e2a\u662f `.sqlite3.pid` \u8fd9\u4e2a\u6587\u4ef6\u4e0d\u8981\u5220\u3002\n\n### \u505c\u6b62\n\n\u5982\u679c\u4e0d\u662f\u540e\u53f0\u6a21\u5f0f\uff0c`Ctrl-C` \u5373\u53ef\u505c\u6b62\u3002\n\n\u5982\u679c\u662f Daemon \u6a21\u5f0f\uff0c\u5219\uff1a\n\n```bash\nqqqfome stop \n```\n\n## \u6587\u6863\n\n\u8fd8\u6ca1\u5199\uff0c\u6682\u65f6\u7528 `qqqfome -h` \u51d1\u5408\u770b\u5427\u3002\n\n```text\nusage: qqqfome [-h] [-v] [-c FILE] [-p FILE] [-l FILE] [-t INTERVAL]\n [-m MESSAGE | -M FILE] [-s NUM] [-d]\n {init,start,stop} [file]\n\nThank-you-follow-me cli.\n\npositional arguments:\n {init,start,stop} command that you want exec\n file database file that you want run on.\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --verbose turn on this to print info\n -c FILE, --cookies FILE\n provide cookies file if you have to skip login\n -p FILE, --pid-file FILE\n pid file location\n -l FILE, --log-file FILE\n log file location\n -t INTERVAL, --time INTERVAL\n set the interval time\n -m MESSAGE, --message MESSAGE\n the message that you want to send to your new follower\n -M FILE, --message-file FILE\n the message that you want to send to your new follower\n -s NUM, --stop-at NUM\n found NUM continuously old followers will stop pass\n -d, --daemon work in daemon mode\n```\n\n## TODO\n\n- \u589e\u52a0 update \u547d\u4ee4\uff0c\u7528\u4e8e\u66f4\u65b0\u6570\u636e\u5e93\u91cc\u7684 cookies\n- \u9009\u9879 `--mc` \u6216\u8005\u7c7b\u4f3c\u7684\u4e1c\u897f\uff0c\u7528\u4e8e\u968f\u673a\u4ece\u6587\u4ef6\u4e2d\u9009\u53d6\u4e00\u6bb5\u6587\u672c\uff08\u4e00\u884c\uff0c\u6216\u8005\u4ee5\u7279\u5b9a\u5206\u9694\u7b26\u5206\u9694\u7684\u4e00\u6bb5\uff09\u7528\u4f5c message\u3002\n- \u5199\u4e2a\u6559\u7a0b\n- \u5b8c\u5584 readme \u548c \u6587\u6863\n- \u91cd\u6784\u4ee3\u7801\n- \u5199\u6d4b\u8bd5\n\n## LICENSEE\n\nMIT.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/7sDream/qqqfome", "keywords": "internet,daemon,sqlite", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "qqqfome", "package_url": "https://pypi.org/project/qqqfome/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/qqqfome/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/7sDream/qqqfome" }, "release_url": "https://pypi.org/project/qqqfome/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "I'm a daemon server that auto send message to your zhihu new followers.", "version": "0.0.4" }, "last_serial": 1954160, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a48c175a7d70e18a0c21173733b80ce0", "sha256": "e138a3c6b3b8f94fa1cc64bb3252c9a824f5ac80c880203e14ff831b2828c5a5" }, "downloads": -1, "filename": "qqqfome-0.0.1-py3.5.egg", "has_sig": false, "md5_digest": "a48c175a7d70e18a0c21173733b80ce0", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 27988, "upload_time": "2016-02-12T13:56:39", "url": "https://files.pythonhosted.org/packages/02/6f/194af85f9c73d85a824264783ff15a33836238faf61334bbaaca80641a2e/qqqfome-0.0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "16e209509c69a212dfe80afdc4e7ff05", "sha256": "27c41e27bd36b071205ee49fb2f8893d34309d2b4faff7904519fadbb129988e" }, "downloads": -1, "filename": "qqqfome-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "16e209509c69a212dfe80afdc4e7ff05", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16277, "upload_time": "2016-02-12T13:56:47", "url": "https://files.pythonhosted.org/packages/ed/ac/a45c293c3cda36b39ee83461d6f35ad7c2fcee9f35e0af1d6dc98a3ced38/qqqfome-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "184cb286d5d0458771f50e806d01e0fe", "sha256": "4c18b583e13bb116f847350164413191efbb8114183743a4c5598d7ae2f51412" }, "downloads": -1, "filename": "qqqfome-0.0.1.tar.gz", "has_sig": false, "md5_digest": "184cb286d5d0458771f50e806d01e0fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10355, "upload_time": "2016-02-12T13:56:22", "url": "https://files.pythonhosted.org/packages/3c/24/3a84382345e25fc0cb9ee791fe97172d5b2b314a7e776935baecdb1dd4a9/qqqfome-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "78278d67d31ae9ffaf863b1092a8c48a", "sha256": "74a2190ca89d73930a2fdaf71c0542661957f40435b23b783763cd96136c50da" }, "downloads": -1, "filename": "qqqfome-0.0.2-py3.5.egg", "has_sig": false, "md5_digest": "78278d67d31ae9ffaf863b1092a8c48a", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 27940, "upload_time": "2016-02-12T15:54:25", "url": "https://files.pythonhosted.org/packages/64/3f/8792cff91d3fea3dfb23349a9b419ef214f5b46dad747a92fa9bc95e960d/qqqfome-0.0.2-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "f33ce77f67c60051597f5a7e5a5ce183", "sha256": "59938effe662f244c992dec57904da9e4adbafc773373fcc000aad441e41986e" }, "downloads": -1, "filename": "qqqfome-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f33ce77f67c60051597f5a7e5a5ce183", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16128, "upload_time": "2016-02-12T15:54:32", "url": "https://files.pythonhosted.org/packages/9f/d4/c8310f399d1eadf5fc9758021e6da5ed711570f9ee5a90783830ee86f5ba/qqqfome-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "096beb8e3e17700d866623de147d08ec", "sha256": "a24bdf4fd0e8ef03b8c12c006ffb86dc04ddbdd2db1a68ca96a6a5478acf6543" }, "downloads": -1, "filename": "qqqfome-0.0.2.tar.gz", "has_sig": false, "md5_digest": "096beb8e3e17700d866623de147d08ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10289, "upload_time": "2016-02-12T15:54:16", "url": "https://files.pythonhosted.org/packages/4b/8a/1694c044941c55b494be1420550d16a39fc184325398f7ceed4022e9047c/qqqfome-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e1620a5a9c70fedc6fc6b01e3d010b69", "sha256": "065cad59a8888b1347fb584cbb1aead2067735867194f0d2ba3b621b8fa60f67" }, "downloads": -1, "filename": "qqqfome-0.0.3-py3.5.egg", "has_sig": false, "md5_digest": "e1620a5a9c70fedc6fc6b01e3d010b69", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 28296, "upload_time": "2016-02-13T05:57:53", "url": "https://files.pythonhosted.org/packages/31/85/99ddd9c1d04dc072af7a1fdf44379586e5e26d98f34fe6f872a15c427fdf/qqqfome-0.0.3-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "e11ffeff638aaec60c1c9010347ab29f", "sha256": "7c7c6554f8fc54dd8aa435ad6935b230a0f88e69682cf731e90e4d6d817212c7" }, "downloads": -1, "filename": "qqqfome-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e11ffeff638aaec60c1c9010347ab29f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16576, "upload_time": "2016-02-13T05:57:58", "url": "https://files.pythonhosted.org/packages/71/34/1fefae9cdcf6b7553c2b8149e4d74cf451fb8122a85f6138ad783ca0e8dc/qqqfome-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d01d653d8c10e8485431fc6210e2b60f", "sha256": "62f695b03776a392b108878eede74891880ad23c136bcbed17583dd1604982dc" }, "downloads": -1, "filename": "qqqfome-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d01d653d8c10e8485431fc6210e2b60f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10619, "upload_time": "2016-02-13T05:57:47", "url": "https://files.pythonhosted.org/packages/a1/dd/6ac0c9b595d479fa86b0532481bdf8acab797ffe954fcbd298dbb81e61c6/qqqfome-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e3297028ee50de26ec39fe4d4cbfa7af", "sha256": "9debb553ac8698642792c76da44f58de5e39edd11f11690fc38ac9ec7cf2d93c" }, "downloads": -1, "filename": "qqqfome-0.0.4-py3.5.egg", "has_sig": false, "md5_digest": "e3297028ee50de26ec39fe4d4cbfa7af", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 28335, "upload_time": "2016-02-13T06:13:55", "url": "https://files.pythonhosted.org/packages/83/2f/3a4e8473942dea452b7366a0da4e33470043292856f04d5d4432e9b852b1/qqqfome-0.0.4-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "1cb405cf53f02e73372156f41905be19", "sha256": "5eacc0f73efee345401459e54568cf1080a7e86b07bdb6e3ff52a1d952f2adb1" }, "downloads": -1, "filename": "qqqfome-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1cb405cf53f02e73372156f41905be19", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16603, "upload_time": "2016-02-13T06:14:01", "url": "https://files.pythonhosted.org/packages/75/50/fdf928e9b9264a7274b8e9f8a285ccee892a7da8d09df378b2be6ab8947c/qqqfome-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d70193ea3bf4cf3ff3dfad56e6a2232", "sha256": "4c8928a3bbb8f3840a1fb54fcc7201aa65adee5fb29e8f5ad18ecb8deb868aef" }, "downloads": -1, "filename": "qqqfome-0.0.4.tar.gz", "has_sig": false, "md5_digest": "0d70193ea3bf4cf3ff3dfad56e6a2232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10646, "upload_time": "2016-02-13T06:13:46", "url": "https://files.pythonhosted.org/packages/7b/ad/7972aaeba9a5b19c3d7492cbb26f02b68f165e5a5834a2cdccc2096b22c6/qqqfome-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3297028ee50de26ec39fe4d4cbfa7af", "sha256": "9debb553ac8698642792c76da44f58de5e39edd11f11690fc38ac9ec7cf2d93c" }, "downloads": -1, "filename": "qqqfome-0.0.4-py3.5.egg", "has_sig": false, "md5_digest": "e3297028ee50de26ec39fe4d4cbfa7af", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 28335, "upload_time": "2016-02-13T06:13:55", "url": "https://files.pythonhosted.org/packages/83/2f/3a4e8473942dea452b7366a0da4e33470043292856f04d5d4432e9b852b1/qqqfome-0.0.4-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "1cb405cf53f02e73372156f41905be19", "sha256": "5eacc0f73efee345401459e54568cf1080a7e86b07bdb6e3ff52a1d952f2adb1" }, "downloads": -1, "filename": "qqqfome-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1cb405cf53f02e73372156f41905be19", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16603, "upload_time": "2016-02-13T06:14:01", "url": "https://files.pythonhosted.org/packages/75/50/fdf928e9b9264a7274b8e9f8a285ccee892a7da8d09df378b2be6ab8947c/qqqfome-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d70193ea3bf4cf3ff3dfad56e6a2232", "sha256": "4c8928a3bbb8f3840a1fb54fcc7201aa65adee5fb29e8f5ad18ecb8deb868aef" }, "downloads": -1, "filename": "qqqfome-0.0.4.tar.gz", "has_sig": false, "md5_digest": "0d70193ea3bf4cf3ff3dfad56e6a2232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10646, "upload_time": "2016-02-13T06:13:46", "url": "https://files.pythonhosted.org/packages/7b/ad/7972aaeba9a5b19c3d7492cbb26f02b68f165e5a5834a2cdccc2096b22c6/qqqfome-0.0.4.tar.gz" } ] }