InstaBot v 1.1.0
If you want to join instabot.py team or have something to say - write me.
Works without the new Instagram api(the new review process) Username and password stored local. Written in Python
Python2.7
minimum
A working Instagram account
(instabot.py
file must be in UTF-8
encoding if you use Python 3
, or ASCII
in Python 2
(PEP)!)
For example see example.py
. Just change the login and password information with your own, then run example.py
and the bot will start doing it's magic!
Login automatic, as followed, by creating the InstaBot
class element:
bot = InstaBot('login', 'password',
like_per_day=1000,
media_max_like=0,
media_min_like=0,
follow_per_day=0,
follow_time=5*60*60,
unfollow_per_day=0,
comments_per_day=0,
tag_list=['cat', 'car', 'dog'],
tag_blacklist=['rain', 'thunderstorm'],
user_blacklist={'hellokitty':'', 'hellokitty3':''},
max_like_for_one_tag = 5,
unfollow_break_min = 15,
unfollow_break_max = 30,
log_mod = 0,
proxy='')
Parameter | Type | Description | Default value | Example value |
---|---|---|---|---|
login | str | your instagram username | python_god | |
password | str | your instagram password | python_god_password | |
like_per_day | int | how many likes the bot does in 1 day | 1000 | 500 |
media_max_like | int | don't like if media has more than ... likes | 0 | 100 |
media_min_like | int | don't like if media has less than ... likes | 0 | 5 |
follow_per_day | int | how many users to follow in 1 day | 0 | 100 |
follow_time | int | how many times passes before the bot unfollows a followed user (sec) | 5 * 60 * 60 | 60 * 60 |
unfollow_per_day | int | how many user unfollows the bot does in day | 0 | 100 |
comments_per_day | int | how many comments the bot writes in a day | 0 | 50 |
tag_list | list | list of tag the bot uses | ['cat', 'car', 'dog'] | ['moto', 'girl', 'python'] |
tag_blacklist | list | list of tags the bot refuses to like | [] | ['rain', 'thunderstorm'] |
user_blacklist | dict | don't like posts from certain users | {} | {'hellokitty':'', 'hellokitty3':''} |
max_like_for_one_tag | int | bot get 21 media from one tag, how many use by row | 5 | 10 |
unfollow_break_min | int | Minimum seconds for unfollow break pause | 15 | 30 |
unfollow_break_max | int | Maximum seconds for unfollow break pause | 30 | 60 |
log_mod | int | logging mod | 0 | 0 log to console, 1 log to file, 2 no log. |
proxy | string | Access instagram through a proxy server | Without authentication: proxy:port, example: 10.10.1.10:3128, with authentication: user:password@proxy:port, example: user:[email protected]:3128 |
How many likes set bot in one day. Default value is 1000 likes per 24 hours.
If you want to do more than 1000 likes in day - instagram can ban you.
Usually this bot is used 24/7 and it's default setup to distripute 1000 likes in day evenly. If you want more likes in one moment, set this parameter to 5000 or 10000 or more. Formula: set like with delay = (24 hour * 60 minute * 60 second / like_per_day)
like_per_day=1000
Don't like media (photo or video) if it have more than media_max_like
likes. media_max_like = 0
will ignore this property. If media have too much likes - your like have not feedback.
Don't like media (photo or video) if it have less than media_min_like
likes. media_min_like = 0
will ignore this property.
media_max_like=10
media_min_like=0
Tag list to like.
tag_list = ['cat', 'car', 'dog']
Like 1 to max_like_for_one_tag
times by row.
max_like_for_one_tag=5
You can like one tag:
bot.get_media_id_by_tag('dog')
Like 4 times:
bot.like_all_exist_media(4)
Or you can choose auto_mod
(like all tags from setting by loop):
bot.auto_mod()
For unlike:
bot.unlike('media_id')
bot.comment('media_id', 'comment')
For example:
bot.comment(11111111111111111111, 'Cool!')
Follow:
bot.follow('user_id')
Unfollow:
bot.unfollow('user_id')
For example (follow and unfollow user with id 111111111):
bot.follow(111111111)
bot.unfollow(111111111)
Log mod: log_mod=0
log to console, log_mod=1
log to file, log_mod=2
no log.
log_mod = 0
unfollow_break_min / unfollow_break_max: These define the randomly selected amount of time in seconds that it will pause between unfollows on a break. Example:
unfollow_break_min = 15
unfollow_break_max = 30
This will cause a delay of anywhere between 15 to 30 seconds between every unfollow.
bot.logout()
Standard use (will like by loop, all default tag):
bot = InstaBot('login', 'password')
bot.auto_mod()
Standard use with your tag (will like by loop, all your tag):
bot = InstaBot('login', 'password', tag_list = ['with', 'your', 'tag'])
bot.auto_mod()
Standard use with change default settings (you should know what you do!):
bot = InstaBot('login', 'password',
like_in_day=100000,
media_max_like=50,
media_min_like=5,
tag_list = ['like', 'follow', 'girls'],
max_like_for_one_tag=50,
log_mod = 1)
bot.auto_mod()
Get media_id buy one tag 'python'
and like 4 of them:
bot = InstaBot('login', 'password')
bot.get_media_id_by_tag('python')
bot.like_all_exist_media(4)
-
Download and install
Python
to your computer. -
To install the project's dependencies, run command
pip install -r requirements.txt
(specifypip2
orpip3
if you have multiple versions of Python installed) -
Download ZIP and extract
-
Modify example.py to your pleasing
-
Run program
python3 example.py
orpython example.py
on Mac, Linux or Windows
Windows - Python 3.4 & Python 2.7.11
CentOS - Python 3.4 & Python 2.6
Ubuntu 15.10 wily - Python 3.4.3+ & 2.7.10
MacOS X El Captain 10.11.4 - Python 2.7
The End-User assumes sole responsibility for anything resulting from the use or modification this program. Don't worry the bot will not :
- Like - comment or follow your own account or media
- Comment a media already commented
Work with InstagramAPI.py
I rewrote, created by @mgp25 php class, to work with the instagram API. This class give ALL access to instagram (login, post photo/video, comment, follow, get followers and etc.). This class pretends device on android and can work like android APP. In future I will rewrite all this bot to InstagramAPI.py.
This class not ready for 100%, but I make most important things and you can work with it.
If you want to get some user info (follower, following and etc.) Instagram don't give this info.
Class in userinfo.py
aggregate this information, from other sites (now only from http://ink361.com/)
ui = UserInfo()
Search by user_name
(need to get user_id
, user_name
if you don't know it):
ui.search_user(user_name="danbilzerian")
or if you know user_id
use ui.search_user(user_id="50417061")
. Your result:
print(ui.user_name)
print(ui.user_id)
Get user id by username
ui.get_user_id_by_login("nekflamm")
Get following list with no limit
ui.get_following()
print(ui.following)
Get followers list with limit 10:
ui.get_followers(limit=10)
print(ui.followers)