{ "info": { "author": "David Lam", "author_email": "david.lam@lamdav.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: MacOS X", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Utilities" ], "description": "![my badge](https://action-badges.now.sh/lamdaV/CrunchyBot?workflow=test)\n# CrunchyBot\n## Description:\nThis is a simple bot/script I made to publish my CrunchyRoll Guest Passes to Reddit.\nIt uses Selenium and Chromedriver to extract valid guest passes from CrunchyRoll\nand PRAW to publish it /r/Crunchyroll's weekly Megathread. This is not a bot made\nto run indefinitely; however, it can be altered to do so if one so desired.\nIt was intended for use in conjunction with a task scheduler/cronjob to check once every month\n(or four if you wish to publish them in sets before guest passes expire) for new guest passes.\n\n## Changes:\nDue to how the PRAW library has changed, all users now must create a \n[reddit script app](https://github.com/reddit/reddit/wiki/OAuth2). \nAs such, the data file now must include additional data. See below for a quick guide on how to set this up.\n\nAs of `4.0.0`, binaries for `chromedriver` and other tooling will not be included. \nPlease refer to [link](https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver#quick-installation)\non setting up and installing `chromedriver`.\n\n## Setting Up Reddit Account:\n 1. Log on to the bot account.\n 2. Go the bot account's `preferences` from the upper-right corner.\n 3. Click the `apps` tab.\n 4. Click the `create another app`.\n - The button test may appear differently if you have no apps setup.\n 5. In the prompts, ensure that the `script` radio button is toggled and \n `redirected uri` is is set to `http://localhost:8080`. The other fields\n can be filled with whatever you want.\n 6. Click `create app` button when done.\n 7. You should now see the app created. Right below the name and below `personal use script` will be your\n `client_id`. Within the box, to the right of the word `secret`, is your `client_secret`.\n\n## Prerequisites:\nYou will need to have Chrome installed on your system at its default installation path.\nThis is due to the `chromedriver` working with your Chrome installation to retrieve\nCrunchyroll Guest Pass.\n\n**Note** As of `4.0.0`, `chromedriver` will not be provided. \nPlease refer to [link](https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver#quick-installation)\non setting up.\n\n## Install:\n`pip install crunchy-bot`\n\n## Setup:\nRun `crunchy init` to generate config file:\n```json\n{\n \"crunchy_username\": \"crunchy_user\",\n \"crunchy_password\": \"crunchy_pass\",\n \"reddit_client_id\": \"client_id\",\n \"reddit_client_secret\": \"client_secret\",\n \"reddit_user_agent\": \"CrunchyBot:v4.0.0 (hosted by /u/{YOUR_USERNAME})\",\n \"reddit_username\": \"reddit_user\",\n \"reddit_password\": \"reddit_pass\",\n \"log_dir\": \"/tmp/crunchybot/logs\"\n}\n```\nor save this to `~/.crunchybot`.\n\nExecute `crunchy publish [--config path/to/.crunchybot] [--debug/-d]` to start scrapping and publishing.\n\n## Development\n### With Pipenv\nAssuming you have `pipenv` installed on your system, run the following within the repo:\n```\n$ pipenv --three\n```\nThis will setup a virtual environment for Crunchybot to work in without interferring your\nother python projects.\n\nWith `pipenv` initialized, run:\n```\n$ pipenv install\n```\nThis will use the `Pipfile` and `Pipfile.lock` to fetch and verify dependencies. Run `pipenv shell` to \nexecute a shell into the generated virtual environment.\n\n### Without Pipenv\nInstall PRAW and Selenium by running the following command:\n```\n$ pip install -r requirements.txt\n```\n\nOnce setup with or without `pipenv`, run `pip install -e .` within the repository. This\nshould install a local version of `crunchy_bot` and its cli. This will also generate\na `version.py` using `setuptools_scm`.\n\nMake and test your changes locally. Pull Request are welcome. \n\n\n## Automating:\n### OSX/Linux\nRun `crontab -e` and add\n```\n0 0 1 * * zsh -lc \"/path/to/crunchy publish\"\n```\nYou can replace `zsh -lc` with your shell's equivalent. This is mainly to execute any of your profile\npresets that may handle setting up `PATH` and other required environment variables to run.\n\n### Windows\nAdd the Python script to the Windows Task Scheduler with monthly frequency.\nHere is a [link](https://blog.netwrix.com/2018/07/03/how-to-automate-powershell-scripts-with-task-scheduler/)\nto setup the Task Scheduler.\n\n### Github\nYou can also fork this repository and utilize `Github Actions` to run this task on the first of each month.\nYou must add the required data as all cap snake case secret variables.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "crunchy-bot", "package_url": "https://pypi.org/project/crunchy-bot/", "platform": "", "project_url": "https://pypi.org/project/crunchy-bot/", "project_urls": { "Bug Reports": "https://github.com/lamdaV/CrunchyBot/issues", "Source": "https://github.com/lamdaV/CrunchyBot" }, "release_url": "https://pypi.org/project/crunchy-bot/4.1.9/", "requires_dist": [ "Click (==7.0)", "praw (==6.2.0)", "prawcore (==1.0.1)", "selenium (==3.141.0)" ], "requires_python": ">=3.5", "summary": "Crunchyroll Guest Pass Publisher for Reddit", "version": "4.1.9" }, "last_serial": 5693921, "releases": { "4.0.0": [ { "comment_text": "", "digests": { "md5": "b346676377ef4b71afe12014f055e3d3", "sha256": "f4c064a5d5c724fd485e5023340ae4323b930f60a50fea05a4987d13d354978f" }, "downloads": -1, "filename": "crunchy_bot-4.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b346676377ef4b71afe12014f055e3d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12281, "upload_time": "2019-05-21T07:15:37", "url": "https://files.pythonhosted.org/packages/08/5e/d495107108a1ecdb3847d5f71dee44a6e1430d564819d26f6955c061c48c/crunchy_bot-4.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9686b021f3788412aea88ee2dc5e6f94", "sha256": "a70e560f851f0e15a90efb7d368dbfd25b4d91c33f3a186083ba502091211b70" }, "downloads": -1, "filename": "crunchy_bot-4.0.0.tar.gz", "has_sig": false, "md5_digest": "9686b021f3788412aea88ee2dc5e6f94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9789, "upload_time": "2019-05-21T07:15:39", "url": "https://files.pythonhosted.org/packages/c8/63/716af017c49940a4075c9facf75a536ad7eb8ac0858dcb59e8e2edc8eb67/crunchy_bot-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "c156e75f66938fbf7192f96234bca52d", "sha256": "e1a8ed3604d86e51d675b5dfa9e4b5cb5fac5988e78dd1e7d2952630b55c8713" }, "downloads": -1, "filename": "crunchy_bot-4.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c156e75f66938fbf7192f96234bca52d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12311, "upload_time": "2019-05-21T07:22:37", "url": "https://files.pythonhosted.org/packages/d3/c7/2fef57814f11d0c6623490c979dd3ed38052aa5438182aa6d92ed5e081ae/crunchy_bot-4.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f8650afa6fb8cc25b8480497ca2c0d0", "sha256": "2eb31a44a748df4dfce8a7bda4e9c0119436139b67596bffcc1a0445122a6c6c" }, "downloads": -1, "filename": "crunchy_bot-4.0.1.tar.gz", "has_sig": false, "md5_digest": "2f8650afa6fb8cc25b8480497ca2c0d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9895, "upload_time": "2019-05-21T07:22:39", "url": "https://files.pythonhosted.org/packages/eb/97/cf7cb489e204dd30b87646add78ecc2c1f17c2c9d680977f25118928a0d7/crunchy_bot-4.0.1.tar.gz" } ], "4.0.3": [ { "comment_text": "", "digests": { "md5": "99ddcfc113752b61052b9e4ba26c63f1", "sha256": "da20eba7bd224f4acd606c719963e32bf6c14bf1179932068a761f11810abc6e" }, "downloads": -1, "filename": "crunchy_bot-4.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "99ddcfc113752b61052b9e4ba26c63f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12547, "upload_time": "2019-05-21T07:28:50", "url": "https://files.pythonhosted.org/packages/73/ba/3a48d29c56bef5d65d7e5b22493fbbdb2a3d5406405198165482a78ec388/crunchy_bot-4.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48b94a1f30a822a1f1bc6663f5941acb", "sha256": "cb83c03b6caedea8c057e1d7209b5026257b18e1afa1b4c8f09c66005f2675f8" }, "downloads": -1, "filename": "crunchy_bot-4.0.3.tar.gz", "has_sig": false, "md5_digest": "48b94a1f30a822a1f1bc6663f5941acb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10359, "upload_time": "2019-05-21T07:28:51", "url": "https://files.pythonhosted.org/packages/cb/30/d7caa2352b734786ac02bfeb0b8e8b3e212d0fa99539a15673a0b67a0581/crunchy_bot-4.0.3.tar.gz" } ], "4.0.4": [ { "comment_text": "", "digests": { "md5": "1cfb7153b917175d00b0295351997b1f", "sha256": "45aad0e4c370ae36ad76a1802fc75517b6a1a5bf95498d34c142a0840be7398d" }, "downloads": -1, "filename": "crunchy_bot-4.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1cfb7153b917175d00b0295351997b1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12856, "upload_time": "2019-05-26T01:46:30", "url": "https://files.pythonhosted.org/packages/1c/3d/4037a4516d0dd0a80159a97f5847db9e9651d9f8f741d2941485c53430db/crunchy_bot-4.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24ab92d602cbfe1dbd43aa4da187b43d", "sha256": "3c0cbb7d67165e25e1dcd60ea0805d0b01ee0c8f9a71f0a785f1de92493d4cd1" }, "downloads": -1, "filename": "crunchy_bot-4.0.4.tar.gz", "has_sig": false, "md5_digest": "24ab92d602cbfe1dbd43aa4da187b43d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10566, "upload_time": "2019-05-26T01:46:32", "url": "https://files.pythonhosted.org/packages/e8/27/42bcd742a4a26443ae4291bfa08cc17327245ca4f585582413b910bf29bb/crunchy_bot-4.0.4.tar.gz" } ], "4.0.5": [ { "comment_text": "", "digests": { "md5": "456399671af8ec33797e3ce337ee037d", "sha256": "ad7c638a9298f6e5a2c8e0ab643652e614ff49376b824a87de75334e3ccea665" }, "downloads": -1, "filename": "crunchy_bot-4.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "456399671af8ec33797e3ce337ee037d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12854, "upload_time": "2019-05-26T01:48:27", "url": "https://files.pythonhosted.org/packages/ec/ec/e22f5c484d84226067eeedb407b5212cfbb8b6e17c2b339e942b5aafc26c/crunchy_bot-4.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98ff50f79e7320666f5a4e6b0aa86124", "sha256": "ee622397c147dfca97389c9a2b0dfd9d4af37add1be0692221d5e2fcb96d8b05" }, "downloads": -1, "filename": "crunchy_bot-4.0.5.tar.gz", "has_sig": false, "md5_digest": "98ff50f79e7320666f5a4e6b0aa86124", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10570, "upload_time": "2019-05-26T01:48:29", "url": "https://files.pythonhosted.org/packages/d8/2f/1b1f5621960c5b4dced7ad5b152d63aa308cd15c2de2a032dd25cf2604b6/crunchy_bot-4.0.5.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "ed9392443a922b93b3d19ed200b8d4e9", "sha256": "886adde4991624a732226b5c923a6d62ff63fdc6aef098c4049ae56b16f0d7b6" }, "downloads": -1, "filename": "crunchy_bot-4.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ed9392443a922b93b3d19ed200b8d4e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17970, "upload_time": "2019-06-02T10:32:28", "url": "https://files.pythonhosted.org/packages/e4/0d/114aedb1f8b5f3caf1f566f16f26c5d3b3e89731fbf7db111d1449baf883/crunchy_bot-4.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecc6105db1ef00beb2927973b3880dee", "sha256": "6659a5ea0533585d261189876ac200705e5624602e61af410c84520ab3b70a69" }, "downloads": -1, "filename": "crunchy_bot-4.1.0.tar.gz", "has_sig": false, "md5_digest": "ecc6105db1ef00beb2927973b3880dee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19905, "upload_time": "2019-06-02T10:32:29", "url": "https://files.pythonhosted.org/packages/18/f4/7700b1e2debe6c537968fbeebb9fec80ea504502473747144fb823b7ae31/crunchy_bot-4.1.0.tar.gz" } ], "4.1.2": [ { "comment_text": "", "digests": { "md5": "2ca11cea5be33c28d621ecf313baebf0", "sha256": "82a039042683d8695845454f0af2bdeaf63409b862cec87798d64ce2fd6e3f3d" }, "downloads": -1, "filename": "crunchy_bot-4.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2ca11cea5be33c28d621ecf313baebf0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 18538, "upload_time": "2019-06-02T23:17:20", "url": "https://files.pythonhosted.org/packages/54/ef/321e2fd9d1d77f3b0508c2089073aba5645afca9a03106a842c5df6d20d1/crunchy_bot-4.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a37fb9b2c1a31a6052bab5589f8014a", "sha256": "1ba8abe5feba85e0daa15d4581542ec69ac72701484a7747e07514c00572bf1c" }, "downloads": -1, "filename": "crunchy_bot-4.1.2.tar.gz", "has_sig": false, "md5_digest": "2a37fb9b2c1a31a6052bab5589f8014a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20699, "upload_time": "2019-06-02T23:17:21", "url": "https://files.pythonhosted.org/packages/9e/a2/236daa83e9eb2e1c9f3a8256a16202bacefcf4db4955efe0e9f79eadd9fa/crunchy_bot-4.1.2.tar.gz" } ], "4.1.5": [ { "comment_text": "", "digests": { "md5": "0147cabb5140087901654dd898a1b5d4", "sha256": "445186c8512541b008519abd89ef4a88bd40aabfd5cadaee963fa4f858946bd8" }, "downloads": -1, "filename": "crunchy_bot-4.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0147cabb5140087901654dd898a1b5d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 18765, "upload_time": "2019-06-03T06:48:18", "url": "https://files.pythonhosted.org/packages/c1/54/b1c087ee38b5d2a1ecacbe04e3cd620380da4d14d08297ebc902b325c278/crunchy_bot-4.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02959d407d96ee9a3afe4ff9c29483cd", "sha256": "67e47ee653d09e55950c574db282c37f4041e6c77865f395ee3a3f93f8c47222" }, "downloads": -1, "filename": "crunchy_bot-4.1.5.tar.gz", "has_sig": false, "md5_digest": "02959d407d96ee9a3afe4ff9c29483cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20882, "upload_time": "2019-06-03T06:48:20", "url": "https://files.pythonhosted.org/packages/cf/0c/98856c45604c0ed68597d1b700d3070fba69254880fe869899ed6a1c77f0/crunchy_bot-4.1.5.tar.gz" } ], "4.1.6": [ { "comment_text": "", "digests": { "md5": "2b667c5fc93a59546f8be9a4a99869ec", "sha256": "829b241212dd663e9c3ebc022cbcb48662f716dcf887a2fb6809c0148e3d436a" }, "downloads": -1, "filename": "crunchy_bot-4.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2b667c5fc93a59546f8be9a4a99869ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17938, "upload_time": "2019-08-11T23:12:30", "url": "https://files.pythonhosted.org/packages/08/90/14cd28608e03e3bc865e63c430ecb02f9a56b8bc61de3df12d3d325a2c1d/crunchy_bot-4.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83d287657085b70f9a112d19bafc4526", "sha256": "fbd9b5d30b5e8fc8c9d5cf76ce93c97f143a518fdaf4a8a4750dd7c7b0fb17d6" }, "downloads": -1, "filename": "crunchy_bot-4.1.6.tar.gz", "has_sig": false, "md5_digest": "83d287657085b70f9a112d19bafc4526", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21032, "upload_time": "2019-08-11T23:12:31", "url": "https://files.pythonhosted.org/packages/60/7b/b66814fd9520949469298e67ae4fc83a40f3705ce0a235e1bb273e2d78c2/crunchy_bot-4.1.6.tar.gz" } ], "4.1.7": [ { "comment_text": "", "digests": { "md5": "279d5b33205d8b00710adedd15357f08", "sha256": "aa9c095a95abf835aa7acc743e7d9804f2853aca85f3d62498a0c4a2cd244232" }, "downloads": -1, "filename": "crunchy_bot-4.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "279d5b33205d8b00710adedd15357f08", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17940, "upload_time": "2019-08-14T03:58:54", "url": "https://files.pythonhosted.org/packages/ad/dc/a463a388e35538b9fd7a80a2da0c721d0442d23fc7cdff877f35b578b291/crunchy_bot-4.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4118f874c78375238998e8e5898dd96", "sha256": "1d4e3c15d3e69d716394c4b287df8882e9b140f112e0b6ec11c7a39bbb42816a" }, "downloads": -1, "filename": "crunchy_bot-4.1.7.tar.gz", "has_sig": false, "md5_digest": "d4118f874c78375238998e8e5898dd96", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21047, "upload_time": "2019-08-14T03:58:55", "url": "https://files.pythonhosted.org/packages/c7/34/8eedcd00fdfcf026b86dc59165d60e44e1250873772faa9d59211fc5b890/crunchy_bot-4.1.7.tar.gz" } ], "4.1.9": [ { "comment_text": "", "digests": { "md5": "a7cd8935d1bcad2299da53b679c92fdf", "sha256": "74490540a38187dfb59f078725550821e7773b41183ba09b53c2e776b195006f" }, "downloads": -1, "filename": "crunchy_bot-4.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a7cd8935d1bcad2299da53b679c92fdf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17999, "upload_time": "2019-08-18T09:06:55", "url": "https://files.pythonhosted.org/packages/0d/1d/e91a3979d84a9294f58ed0111332477bc853d82f372e24ecb274ffd06ba2/crunchy_bot-4.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02faf8282a4f80d6c8638f7f9616d5ec", "sha256": "104364e255532af0af18554bfb5e9ac6c1b7d264775d430329e435013dfef505" }, "downloads": -1, "filename": "crunchy_bot-4.1.9.tar.gz", "has_sig": false, "md5_digest": "02faf8282a4f80d6c8638f7f9616d5ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21108, "upload_time": "2019-08-18T09:06:57", "url": "https://files.pythonhosted.org/packages/d6/58/25c2de87ad4fb67490a585748bf61a626b20810ff56663e452f6e1be6988/crunchy_bot-4.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a7cd8935d1bcad2299da53b679c92fdf", "sha256": "74490540a38187dfb59f078725550821e7773b41183ba09b53c2e776b195006f" }, "downloads": -1, "filename": "crunchy_bot-4.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a7cd8935d1bcad2299da53b679c92fdf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17999, "upload_time": "2019-08-18T09:06:55", "url": "https://files.pythonhosted.org/packages/0d/1d/e91a3979d84a9294f58ed0111332477bc853d82f372e24ecb274ffd06ba2/crunchy_bot-4.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02faf8282a4f80d6c8638f7f9616d5ec", "sha256": "104364e255532af0af18554bfb5e9ac6c1b7d264775d430329e435013dfef505" }, "downloads": -1, "filename": "crunchy_bot-4.1.9.tar.gz", "has_sig": false, "md5_digest": "02faf8282a4f80d6c8638f7f9616d5ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21108, "upload_time": "2019-08-18T09:06:57", "url": "https://files.pythonhosted.org/packages/d6/58/25c2de87ad4fb67490a585748bf61a626b20810ff56663e452f6e1be6988/crunchy_bot-4.1.9.tar.gz" } ] }