{ "info": { "author": "Pasha Lev", "author_email": "levpasha@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Build Tools" ], "description": "# Instabot.py \ud83e\udd16 \ud83c\udf1f\n\n**Instabot.py** is an extremely light instagram bot that uses the undocumented Web API. Unlike other bots, Instabot.py does _not_ require Selenium or a WebDriver. Instead, it interacts with the API over simple HTTP Requests. It runs on most systems, including Raspberry Pi.\n\n[![Donate](https://img.shields.io/badge/PayPal-Donate%20to%20Author-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=7BMM6JGE73322&lc=US)\n[![Chat on Telegram](https://img.shields.io/badge/Chat%20on-Telegram-brightgreen.svg)](https://t.me/joinchat/DYKH-0G_8hsDDoN_iE8ZlA)\n[![Latest version on](https://badge.fury.io/py/instabot-py.svg)](https://badge.fury.io/py/instabot-py)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/instabot-py.svg)](https://pypi.org/project/instabot-py/)\n\n\n## Requirements\n\n- Python v3.6 or greater\n- Pip v18 or greater\n\n\n## Quick Start \ud83d\ude80\n\n- **Make sure you have Python 3.6 or above installed**\n\n - `python3 --version`\n\nOn Windows you might have to use `python` without the version (`3`) suffix. Experienced users should use virtualenv.\n\n- **If your version is below 3.6, we recommend you install the latest Python 3.7**\n\n - [Python on Windows](https://github.com/instabot-py/instabot.py/wiki/Installing-Python-on-Windows)\n - [Python on Mac](https://github.com/instabot-py/instabot.py/wiki/Installing-Python-3.7-on-macOS)\n - [Python on Raspberry Raspbian / Debian / Ubuntu](https://github.com/instabot-py/instabot.py/wiki/Installing-Python-3.7-on-Raspberry-Pi)\n\n- **Install instabot.py from PyPi repository**\n\n - `python3 -m pip install instabot-py`\n\n- **Start the bot** \ud83c\udfc1\n\n - `instabot-py`\n - or `python3 -m instabot_py`\n - For more advanced parameters and configurations download and edit [example.py](https://raw.githubusercontent.com/instabot-py/instabot.py/master/example.py) and run `python3 example.py`\n\n- **Config** \u2699\ufe0f\n\nWhen you first run `instabot-py` a file called `config.ini` will be created in your current directory, along with an SQLite DB, and an error.log.\n\nAfter the initial configuration, you can manually edit `config.ini` with a text editor. Restart the bot for changes to take effect.\n\nThe `%username%.db` file contains a record of the posts the bot has liked, and the users it has followed/unfollowed.\n\nThe `%username%.session` file stores your session with Instagram to avoid re-logins each time you start the bot.\n\n\n## Upgrade \u2b06\ufe0f\n\n- `python3 -m pip install instabot-py --no-cache-dir --upgrade`\n\n## Install methods\n\n**Recommended: From PyPi:** (Stable)\n\n- `python3 -m pip install instabot-py`\n\n**From sources:** (Bleeding edge)\n\n- `python3 -m pip install git+https://github.com/instabot-py/instabot.py`\n\n## Parameters\n| Parameter | Type| Description | Default value |\n|:--------------------:|:---:|:----------------------------------------------------:|:--------------------------------:|\n| login | str | Your instagram username | |\n| password | str | Your instagram password | |\n| start\\_at\\_h | int | Start program at the hour | 0 |\n| start\\_at\\_m | int | Start program at the min | 0 |\n| end\\_at\\_h | int | End program at the hour | 23 |\n| end\\_at\\_m | int | End program at the min | 59 |\n| database\\_name | str | change the name of database file to use multiple account | \"follows\\_db.db\" |\n| session\\_file | str | change the name of session file so to avoid having to login every time. Set False to disable. | \"username.session\" |\n| like_per_day | int | Number of photos to like per day (over 1000 may cause throttling) | 1000 |\n| media_max_like | int | Maximum number of likes on photos to like (set to 0 to disable) | 0 |\n| media_min_like | int | Minimum number of likes on photos to like (set to 0 to disable) | 0 |\n| follow_per_day | int | Users to follow per day | 0 |\n| follow_time | int | Seconds to wait before unfollowing | 5 * 60 * 60 |\n| user_min_follow | int | Check user before following them if they have X minimum of followers. Set 0 to disable | 0 |\n| user_max_follow | int | Check user before following them if they have X maximum of followers. Set 0 to disable | 0 |\n| follow_time_enabled | bool| Whether to wait seconds set in follow_time before unfollowing | True |\n| unfollow_per_day | int | Users to unfollow per day | 0 |\n| unfollow_recent_feed | bool| If enabled, will populate database with users from recent feed and unfollow if they meet the conditions. Disable if you only want the bot to unfollow people it has previously followed. | True |\n| unlike_per_day | int | Number of media to unlike that the bot has previously liked. Set to 0 to disable. | 0 |\n| time_till_unlike | int | How long to wait after liking media before unliking them. | 3 * 24 * 60 * 60 (3 days) |\n| comments_per_day | int | Comments to post per day | 0 |\n| comment_list | [[str]] | List of word lists for comment generation. @username@ will be replaced by the media owner's username | [['this', 'your'], ['photo', 'picture', 'pic', 'shot'], ['is', 'looks', 'is really'], ['great', 'super', 'good'], ['.', '...', '!', '!!']] |\n| tag_list | [str] | Tags to use for finding posts by hasthag or location(l:locationid from e.g. https://www.instagram.com/explore/locations/212999109/los-angeles-california/) | ['cat', 'car', 'dog', 'l:212999109'] |\n| keywords | [str] | Words to use for finding profiles with username or biography contain these words | [] |\n| tag_blacklist | [str] | Tags to ignore when liking posts | [] |\n| user_blacklist | {str: str} | Users whose posts to ignore. Example: `{\"username\": \"\", \"username2\": \"\"}` type only the key and leave value empty -- it will be populated with userids on startup. | {} |\n| max_like_for_one_tag | int | How many media of a given tag to like at once (out of 21) | 5 |\n| unfollow_break_min | int | Minimum seconds to break between unfollows | 15 |\n| unfollow_break_max | int | Maximum seconds to break between unfollows | 30 |\n| log_mod | int | Logging target (0 log to console, 1 log to file, 2 no log.) | 0 |\n| proxy | str | Access instagram through a proxy. (host:port or user:password@host:port) | |\n| unfollow_not_following | bool | Unfollow Condition: Unfollow those who do not follow you back | True |\n| unfollow_inactive | bool | Unfollow Condition: Unfollow those who have not posted in a while (inactive) | True |\n| unfollow_probably_fake | bool | Unfollow Condition: Unfollow accounts which skewed follow/follower ratio (probably fake) | True |\n| unfollow_selebgram | bool | Unfollow Condition: Unfollow (celebrity) accounts with too many followers and not enough following | False |\n| unfollow_everyone | bool | Unfollow Condition: Will unfollow everyone in unfollow queue (wildcard condition) | False |\n\n## Contributing\nPlease feel free to contribute and submit PR requests. All help is appreciated. Look for issues with the label [needs help](https://github.com/instabot-py/instabot.py/labels/needs%20help).\n\n\n\n\n## Instabot with yaml config\nBy default, instabot looks for configuration file (instabot.config.yml)\nit could be changed by exporting environment varibale with the full path\n````bash\nexport INSTABOT_CONFIG_FILE=instabot2.config.yml\n````\n\n\n````yaml\n\n---\nlogin : \"username\"\npassword : \"password\"\ndebug: 1\n#Send INFO notification to Telegram channel \nlogging.handlers.telegram:\n level: INFO\n class: telegram_handler.TelegramHandler\n token: __YOUR__CHANNEL__TOKEN__\n chat_id: __CHAT_ID__\nlogging.loggers.InstaBot.handlers:\n - telegram\n - console\n\nfollow_time: 1200\nunfollow_per_day: 1000\nfollow_per_day: 1000\n\n````\n\n[Create Telegram bot for instabot](https://core.telegram.org/bots#3-how-do-i-create-a-bot)\n\n## Blogs\n- [Instabot-Py Rework](https://medium.com/@asker_amine/instabot-py-rework-7fa68a6cadab)\n\n## Community\n\n- [Telegram Group](https://t.me/joinchat/DYKH-0G_8hsDDoN_iE8ZlA)\n- [Facebook Group](https://www.facebook.com/groups/instabot/)\n- [IRC Channel on Freenode.net #instabot](http://webchat.freenode.net?channels=%23instabot)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/instabot-py/instabot.py/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/instabot-py/instabot.py", "keywords": "instagram bot,Instagram API hack", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "instabot-py", "package_url": "https://pypi.org/project/instabot-py/", "platform": "", "project_url": "https://pypi.org/project/instabot-py/", "project_urls": { "Download": "https://github.com/instabot-py/instabot.py/tarball/master", "Homepage": "https://github.com/instabot-py/instabot.py" }, "release_url": "https://pypi.org/project/instabot-py/0.4.10/", "requires_dist": [ "fake-useragent (==0.1.11)", "instaloader (==4.2.8)", "requests (==2.22.0)", "blessings (==1.7.0)", "config42 (==0.3.2)", "sqlalchemy (==1.3.4)", "PyYAML (==5.1.0)" ], "requires_python": ">3.6.1", "summary": "Instagram Python Bot", "version": "0.4.10" }, "last_serial": 5763846, "releases": { "0.1.dev0": [ { "comment_text": "", "digests": { "md5": "43d9c8e07a3e44c7a4711082b956661a", "sha256": "a15b892fce1805d0a8866e8d2febcb5a779147f22cd1b778cd43c98a312a042d" }, "downloads": -1, "filename": "instabot_py-0.1.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "43d9c8e07a3e44c7a4711082b956661a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29037, "upload_time": "2019-01-21T23:34:04", "url": "https://files.pythonhosted.org/packages/43/b4/fed2d8558d6241fe1302cd0adbffcb3a438c9b06d7c133fa80983337e791/instabot_py-0.1.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02df1f1eaf0015d08a9ed554a73e9d0d", "sha256": "978a9814c193a4f6091b4d65ebe6ad4ae21bafbf01afa2089887a2e58beae886" }, "downloads": -1, "filename": "instabot-py-0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "02df1f1eaf0015d08a9ed554a73e9d0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23252, "upload_time": "2019-01-21T23:34:06", "url": "https://files.pythonhosted.org/packages/b3/c2/50c6f5ed4d02d0f4e33cf5492c0979fad47de8d68f445194fd8dfa2611c3/instabot-py-0.1.dev0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "8af84bbcc95cfc98c13d7636274dfcdd", "sha256": "ad7749c39036052e70ecd293100b1adcb5d694d09b7671f488d365bac8a33bf0" }, "downloads": -1, "filename": "instabot_py-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8af84bbcc95cfc98c13d7636274dfcdd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28977, "upload_time": "2019-01-21T23:43:22", "url": "https://files.pythonhosted.org/packages/53/2f/b991feebcdea7acfdcdb4948da533c1ee79e8b3e079b3f3ebe24ec81fd0b/instabot_py-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dee8fd429d3f8067163062028fff0a0", "sha256": "a260f7877256fe98e1d9e11f2388224382b6ea0a3692d707a9daee6c1d7b2aab" }, "downloads": -1, "filename": "instabot-py-0.2.tar.gz", "has_sig": false, "md5_digest": "7dee8fd429d3f8067163062028fff0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23339, "upload_time": "2019-01-21T23:43:23", "url": "https://files.pythonhosted.org/packages/8e/56/af77e74be8a2d265f172c179ffc5f81d9615eb40e45c7c0a4448b343d0d4/instabot-py-0.2.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "39a5347a4330ac64fb9d7b32a6d92e55", "sha256": "0544416007c6d190a850759bda4e3deedc90e26560fe376cf02024572cd50834" }, "downloads": -1, "filename": "instabot_py-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "39a5347a4330ac64fb9d7b32a6d92e55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 35841, "upload_time": "2019-03-20T14:03:44", "url": "https://files.pythonhosted.org/packages/4c/68/bbe0f24fbe5a893c4f5dcb69fd0a054dee538ef521d134f86eeb75322683/instabot_py-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb97d144a9459e5024edae1b4fbcccb2", "sha256": "c28e766b646907205c5c0ebbf7c8ad6120d22793718d5c8e0511a32e90b5042f" }, "downloads": -1, "filename": "instabot-py-0.4.tar.gz", "has_sig": false, "md5_digest": "eb97d144a9459e5024edae1b4fbcccb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 31176, "upload_time": "2019-03-20T14:03:45", "url": "https://files.pythonhosted.org/packages/ab/55/3a9b8eebfbf9831914c73eaaa417821a2df010c96b8ec67fa087689ea1d0/instabot-py-0.4.tar.gz" } ], "0.4.10": [ { "comment_text": "", "digests": { "md5": "6c7252d7f13c87b95f644db4a088294b", "sha256": "d1299e9ec4432a14826bc9bcc79346cfda3efe393dd29077de78a461c97272f0" }, "downloads": -1, "filename": "instabot_py-0.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "6c7252d7f13c87b95f644db4a088294b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 40213, "upload_time": "2019-07-04T15:26:15", "url": "https://files.pythonhosted.org/packages/d1/5a/b9781a8bfc25dfb67dbc7f921696687d8c7f8700d60e0e7289a83c04fc6f/instabot_py-0.4.10-py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "0fb7faeea0481c1e124f536ca094e03c", "sha256": "ac09ec07c25007235fc2f501ce325af9b4b2eb7454064107e04112dc6c3e9d57" }, "downloads": -1, "filename": "instabot_py-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0fb7faeea0481c1e124f536ca094e03c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36636, "upload_time": "2019-03-20T20:43:10", "url": "https://files.pythonhosted.org/packages/5e/60/9dec57ce4c4ed413aa7319ba01ad9cc5f66bdcea4001a5ca0fa0f5323e30/instabot_py-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9629d821d1624255b6df36c76591542c", "sha256": "0a0b3478d106c489a6ca9793458c189a52b86639f92e781d54cf4ed408710cdd" }, "downloads": -1, "filename": "instabot-py-0.4.2.tar.gz", "has_sig": false, "md5_digest": "9629d821d1624255b6df36c76591542c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31487, "upload_time": "2019-03-20T20:43:12", "url": "https://files.pythonhosted.org/packages/91/88/48c08cde5421d2e96e765fa788f039a6f43a6847ad8a82f861e87191786c/instabot-py-0.4.2.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "bca1dbdf7d5e415bed4361d4384be2f9", "sha256": "d46b8fe7a14610e7a1f82b8f19f79903ed47268325b6a83e934ea6cda8700a5f" }, "downloads": -1, "filename": "instabot_py-0.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bca1dbdf7d5e415bed4361d4384be2f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37233, "upload_time": "2019-03-22T20:03:27", "url": "https://files.pythonhosted.org/packages/b7/24/f489ab6959503be20f704eae8b817d02cbd7b81d3fd604b0bd77749dff4f/instabot_py-0.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53686df4e5fd0621f43ebd9a6b0ee577", "sha256": "997c00da438000d6e6a4661be833f5cf9918ebf2352eeebc7edf22d0c5078a4e" }, "downloads": -1, "filename": "instabot-py-0.4.5.tar.gz", "has_sig": false, "md5_digest": "53686df4e5fd0621f43ebd9a6b0ee577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32102, "upload_time": "2019-03-22T20:03:29", "url": "https://files.pythonhosted.org/packages/77/94/f7ce7dff3f97b363ccde678dbfb8bc37f6e1b401f2a7f4c0a83bc4f4e64e/instabot-py-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "5929a22669249e03f40ad51cc520e50d", "sha256": "be39af2e22d0a2f317567d57df8ba884d1e9b04092d668748e69f52099e81744" }, "downloads": -1, "filename": "instabot_py-0.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5929a22669249e03f40ad51cc520e50d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37206, "upload_time": "2019-03-26T14:46:10", "url": "https://files.pythonhosted.org/packages/aa/06/bd861f008b1bc9f260d7784c36afcc818af9c936e7dffd942af3c5f01ded/instabot_py-0.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0634ee58ee4a8085c4474384f479f04d", "sha256": "23cf6e041674ab2499436fe2098e16ba1f56b5a2294ffb976c0dba274b59422f" }, "downloads": -1, "filename": "instabot-py-0.4.6.tar.gz", "has_sig": false, "md5_digest": "0634ee58ee4a8085c4474384f479f04d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32084, "upload_time": "2019-03-26T14:46:12", "url": "https://files.pythonhosted.org/packages/a1/7c/4d5123edfa43cc632a2ad44b270bf0c5df21d8ff97c53f9b288ccd8a020c/instabot-py-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "9adf6592a2ee6c2b228f5382e00584f9", "sha256": "bee9243719179661c1698f81ba31b21474a618c327df76f778a945407aa490e0" }, "downloads": -1, "filename": "instabot_py-0.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "9adf6592a2ee6c2b228f5382e00584f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37646, "upload_time": "2019-04-24T06:38:02", "url": "https://files.pythonhosted.org/packages/04/11/6b0feacc251e2ab4807384fd1d8894802d0776ad11789d72271c0fb6c3da/instabot_py-0.4.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "321c8fa2655533180d4b77f2116bb387", "sha256": "0cdd612603ef205b2db5e203b5d653cc2baffae0298ffa12fd956de2ef05ff17" }, "downloads": -1, "filename": "instabot-py-0.4.7.tar.gz", "has_sig": false, "md5_digest": "321c8fa2655533180d4b77f2116bb387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32610, "upload_time": "2019-04-24T06:38:04", "url": "https://files.pythonhosted.org/packages/f7/16/5ac2b88a2be51f8b7b99b55edc8e4f7537c28f7ad7186379de08152848ee/instabot-py-0.4.7.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "0b86c5530113dd250206b71d6ea74db9", "sha256": "5f50927a23808e01d8d3effcf510e4cf082954d850660d704cacc7248ae8d2cf" }, "downloads": -1, "filename": "instabot_py-0.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "0b86c5530113dd250206b71d6ea74db9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 25853, "upload_time": "2019-05-30T08:36:31", "url": "https://files.pythonhosted.org/packages/6f/a0/1f61d067e8603a7fd2e4e78cbd68a70c9e570931faf835d9b15d9ae3e73d/instabot_py-0.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0205c5d11850e90237c24dbe68990a6", "sha256": "14c8e929322b7c962fa8c76e8fe74d0a6d905bd7de7054b12676f747ec9aa353" }, "downloads": -1, "filename": "instabot-py-0.4.9.tar.gz", "has_sig": false, "md5_digest": "c0205c5d11850e90237c24dbe68990a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.1", "size": 26240, "upload_time": "2019-05-30T08:36:33", "url": "https://files.pythonhosted.org/packages/7f/04/8e9c0b3573bbab4c196dd47a04680a7c7d63b0fdb5eeb29086271cd61203/instabot-py-0.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6c7252d7f13c87b95f644db4a088294b", "sha256": "d1299e9ec4432a14826bc9bcc79346cfda3efe393dd29077de78a461c97272f0" }, "downloads": -1, "filename": "instabot_py-0.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "6c7252d7f13c87b95f644db4a088294b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 40213, "upload_time": "2019-07-04T15:26:15", "url": "https://files.pythonhosted.org/packages/d1/5a/b9781a8bfc25dfb67dbc7f921696687d8c7f8700d60e0e7289a83c04fc6f/instabot_py-0.4.10-py3-none-any.whl" } ] }