{ "info": { "author": "Amine Ben Asker", "author_email": "ben.asker.amine@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": "# Neo-Instabot \ud83e\udd16 \ud83c\udf1f\n\n**Neo-Instabot** 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[![Chat on Telegram](https://img.shields.io/badge/Chat%20on-Telegram-brightgreen.svg)](https://t.me/joinchat/NTpLCxe7JqimNaZJYMRkYQ)\n[![Latest version on](https://badge.fury.io/py/neo-instabot.svg)](https://badge.fury.io/py/neo-instabot)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/neo-instabot.svg)](https://pypi.org/project/neo-instabot/)\n[![Travis Pipelines build status](https://img.shields.io/travis/com/yurilaaziz/neo-instabot.svg)](https://travis-ci.com/yurilaaziz/neo-instabot/)\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\n- **Install instabot.py from PyPi repository**\n\n - `python3 -m pip install neo-instabot`\n\n- **Start the bot** \ud83c\udfc1\n\n - `neo-instabot` or `python3 -m instabot`\n - `neo-instabot -c myconfiguration.yml` or `python3 -m instabot -c myconfiguration.yml`\n\n- ** Configuration ** \u2699\ufe0f\n\nBy running `neo-instabot`, the Bot reads its configuration from instabot.config.yml in your current directory.\nyou can run the bot with a different configuration `neo-instabot -c myconfiguration.yml`\n\n\n## Upgrade \u2b06\ufe0f\n\n- `python3 -m pip install neo-instabot --no-cache-dir --upgrade`\n- `pip3 install neo-instabot --no-cache-dir --upgrade`\n\n## Install methods\n\n**Recommended: From PyPi:** (Stable)\n\n- `python3 -m pip install neo-instabot`\n\n**From sources:** (Bleeding edge)\n\n- `python3 -m pip install git+https://github.com/yurilaaziz/neo-instabot`\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 | dict| Contains the database configuration | {\"type\": \"sql\", \"connection_string\": \"sqlite:///{{login}}.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 | DEPRECATED, WILL BE REMOVED SOON, REPLACED BY like_per_run | |\n| like_per_run | 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 | DEPRECATED, WILL BE REMOVED SOON, REPLACED BY follow_per_run | 0 |\n| follow_per_run | 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| REMOVED, TO DISBALE Follow_time, just set it to 0 | -- |\n| unfollow_per_day | int | DEPRECATED, WILL BE REMOVED SOON, REPLACED BY unfollow_per_run | 0 |\n| unfollow_per_run | 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 | DEPRECATED, WILL BE REMOVED SOON, REPLACED BY unlike_per_run | 0 |\n| unlike_per_run | 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| proxies (deprecated) | dict | Access instagram through a proxy. {\"http\":\"http://IP:PORT\", \"https\":\"http://IP:PORT\"} (host:port or user:password@host:port) | |\n| proxy_ip | dict | HTTP Proxy IP address | |\n| proxy_port | int | HTTP Proxy Port | |\n| proxy_user | str | HTTP Proxy username | |\n| proxy_password | str | HTTP Proxy password | |\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/neo-instabot/instabot.py/labels/needs%20help).\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\n- [neo-instabot Rework: What's changed & how to configure the Telegram handler](https://medium.com/@asker_amine/neo-instabot-rework-7fa68a6cadab)\n- [What\u2019s new in the Instagram bot 0.5.2](https://medium.com/@asker_amine/whats-new-in-the-instagram-bot-0-5-2-fe52154fdc8a)\n## Community\n\n- [Telegram Group](https://t.me/joinchat/NTpLCxe7JqimNaZJYMRkYQ)\n- [New Facebook Group](https://www.facebook.com/groups/2268834063428118/)\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/yurilaaziz/bot.py/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yurilaaziz/bot.py", "keywords": "instagram bot,Instagram web API hack,automation tool.", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "neo-instabot", "package_url": "https://pypi.org/project/neo-instabot/", "platform": "", "project_url": "https://pypi.org/project/neo-instabot/", "project_urls": { "Download": "https://github.com/yurilaaziz/bot.py/tarball/master", "Homepage": "https://github.com/yurilaaziz/bot.py" }, "release_url": "https://pypi.org/project/neo-instabot/0.6.0/", "requires_dist": [ "fake-useragent (==0.1.11)", "instaloader (==4.2.8)", "requests (==2.22.0)", "blessings (==1.7.0)", "config42 (==0.4.2)", "sqlalchemy (==1.3.4)", "PyYAML (==5.1.0)" ], "requires_python": ">3.6.1", "summary": "Instagram Python Bot", "version": "0.6.0" }, "last_serial": 5724697, "releases": { "0.5.10": [ { "comment_text": "", "digests": { "md5": "c9726b00b043711e46643c3a84f5d6f9", "sha256": "20c836bf74ec1ea59c5d6903fad61143854c7a50d077a55275519ca30ebf1bfd" }, "downloads": -1, "filename": "neo_instabot-0.5.10-py3-none-any.whl", "has_sig": false, "md5_digest": "c9726b00b043711e46643c3a84f5d6f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 58617, "upload_time": "2019-08-24T15:23:48", "url": "https://files.pythonhosted.org/packages/74/f7/327f67c7a3ef6eac5110543137daa0dbc3896995ef303ab1d5c7556bcbb3/neo_instabot-0.5.10-py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "246b82d880bbf1e975ee586c0a356153", "sha256": "7cf2f5f6ee95e7f47cafda0e64a2d8303d71adaa6b14971180f0f9bb8c850265" }, "downloads": -1, "filename": "neo_instabot-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "246b82d880bbf1e975ee586c0a356153", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 58641, "upload_time": "2019-08-24T15:53:05", "url": "https://files.pythonhosted.org/packages/dc/9c/69b26951a2fc97bc66783c3bf449d3a1421d2644825b4587d326d62b4658/neo_instabot-0.6.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "246b82d880bbf1e975ee586c0a356153", "sha256": "7cf2f5f6ee95e7f47cafda0e64a2d8303d71adaa6b14971180f0f9bb8c850265" }, "downloads": -1, "filename": "neo_instabot-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "246b82d880bbf1e975ee586c0a356153", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.1", "size": 58641, "upload_time": "2019-08-24T15:53:05", "url": "https://files.pythonhosted.org/packages/dc/9c/69b26951a2fc97bc66783c3bf449d3a1421d2644825b4587d326d62b4658/neo_instabot-0.6.0-py3-none-any.whl" } ] }