Toolkit for building automated Instagram bots without direct access to the Instagram API or passsing through the review process.
Parameter | Type | Description | Default value |
---|---|---|---|
login | str | Your instagram username | |
password | str | Your instagram password | |
like_per_day | int | Number of photos to like per day (over 1000 may cause throttling) | 1000 |
media_max_like | int | Maximum number of likes on photos to like (set to 0 to disable) | 0 |
media_min_like | int | Maximum number of likes on photos to like (set to 0 to disable) | 0 |
follow_per_day | int | Photos to like per day | 0 |
follow_time | int | Seconds to wait before unfollowing | 5 * 60 * 60 |
unfollow_per_day | int | Users to unfollow per day | 0 |
comments_per_day | int | Comments to post per day | 0 |
comment_list | [[str]] | List of word lists for comment generation | [['this', 'your'], ['photo', 'picture', 'pic', 'shot'], ['is', 'looks', 'is really'], ['great', 'super', 'good'], ['.', '...', '!', '!!']] |
tag_list | [str] | Tags to use for finding posts | ['cat', 'car', 'dog'] |
tag_blacklist | [str] | Tags to ignore when liking posts | [] |
user_blacklist | {str: str} | Users whose posts to ignore | {} |
max_like_for_one_tag | int | How many media of a given tag to like at once (out of 21) | 5 |
unfollow_break_min | int | Minimum seconds to break between unfollows | 15 |
unfollow_break_max | int | Maximum seconds to break between unfollows | 30 |
log_mod | int | Logging target (0 log to console, 1 log to file, 2 no log.) | 0 |
proxy | str | Access instagram through a proxy. (host:port or user:password@host:port) |
Method | Description |
---|---|
get_media_id_by_tag(tag) | Add photos with a given tag to like queue |
like_all_exist_media(num) | Like some number of media in queue |
auto_mod() | Automatically loop through tags and like photos |
unlike(id) | Unlike media, given its ID. |
comment(id, comment) | Write a comment on the media with a given ID. |
follow(id) | Follow the user with the given ID. |
unfollow(id) | Unfollow the user with the given ID. |
logout() | Log out of Instagram. |
Basic bot implementation:
bot = InstaBot('login', 'password')
bot.auto_mod()
Standard use with custom tags:
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=1000,
media_max_like=50,
media_min_like=5,
tag_list=['like', 'follow', 'f4f'],
max_like_for_one_tag=50,
log_mod=1)
bot.auto_mod()
Get media by 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)
The following video tutorials demo setting up and running the bot: