

GitHub - instabot-py/instabot.py: Instagram bot. It works without instagram api,...
source link: https://github.com/instabot-py/instabot.py
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
Instabot.py ??
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.
Requirements
- Python v3.6 or greater
- Pip v18 or greater
Quick Start ?
-
Make sure you have Python 3.6 or above installed
python3 --version
On Windows you might have to use python
without the version (3
) suffix. Experienced users should use virtualenv.
-
If your version is below 3.6, we recommend you install the latest Python 3.7
-
Install instabot.py from PyPi repository
python3 -m pip install instabot-py
-
Start the bot ?
instabot-py
orpython3 -m instabot_py
instabot-py -c myconfiguration.yml
orpython3 -m instabot_py -c myconfiguration.yml
instabot-interactive
to use the legacy interactive mode (deprecated and will be removed soon)
-
** Configuration ** ⚙️
By running instabot-py
, the Bot reads its configuration from instabot.config.yml in your current directory.
you can run the bot with a different configuration instabot-py -c myconfiguration.yml
- Legacy Interactive Mode (DEPRECATED) ⚙️
When you first run instabot-py -i
a file called config.ini
will be created in your current directory, along with an SQLite DB.
After the initial configuration, you can manually edit config.ini
with a text editor. Restart the bot for changes to take effect.
The %username%.db
file contains a record of the posts the bot has liked, and the users it has followed/unfollowed.
The %username%.session
file stores your session with Instagram to avoid re-logins each time you start the bot.
Upgrade ⬆️
python3 -m pip install instabot-py --no-cache-dir --upgrade
pip3 install instabot-py --no-cache-dir --upgrade
Install methods
Recommended: From PyPi: (Stable)
python3 -m pip install instabot-py
From sources: (Bleeding edge)
python3 -m pip install git+https://github.com/instabot-py/instabot.py
Parameters
Parameter Type Description Default value login str Your instagram username
password str Your instagram password
start_at_h int Start program at the hour 0 start_at_m int Start program at the min 0 end_at_h int End program at the hour 23 end_at_m int End program at the min 59 database dict Contains the database configuration {"type": "sql", "connection_string": "sqlite:///{{login}}.db"} session_file str change the name of session file so to avoid having to login every time. Set False to disable. "username.session" like_per_day int DEPRECATED, WILL BE REMOVED SOON, REPLACED BY like_per_run
like_per_run
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
Minimum number of likes on photos to like (set to 0 to disable)
0
follow_per_day
int
DEPRECATED, WILL BE REMOVED SOON, REPLACED BY follow_per_run
0
follow_per_run
int
Users to follow per day
0
follow_time
int
Seconds to wait before unfollowing
5 * 60 * 60
user_min_follow
int
Check user before following them if they have X minimum of followers. Set 0 to disable
0
user_max_follow
int
Check user before following them if they have X maximum of followers. Set 0 to disable
0
follow_time_enabled
bool
REMOVED, TO DISBALE Follow_time, just set it to 0
--
unfollow_per_day
int
DEPRECATED, WILL BE REMOVED SOON, REPLACED BY unfollow_per_run
0
unfollow_per_run
int
Users to unfollow per day
0
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
unlike_per_day
int
DEPRECATED, WILL BE REMOVED SOON, REPLACED BY unlike_per_run
0
unlike_per_run
int
Number of media to unlike that the bot has previously liked. Set to 0 to disable.
0
time_till_unlike
int
How long to wait after liking media before unliking them.
3 * 24 * 60 * 60 (3 days)
comments_per_day
int
Comments to post per day
0
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'], ['.', '...', '!', '!!']]
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']
keywords
[str]
Words to use for finding profiles with username or biography contain these words
[]
tag_blacklist
[str]
Tags to ignore when liking posts
[]
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.
{}
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
proxies
dict
Access instagram through a proxy. {"http_proxy":"http://IP:PORT", "https_proxy":"http://IP:PORT"} (host:port or user:password@host:port)
unfollow_not_following bool Unfollow Condition: Unfollow those who do not follow you back True unfollow_inactive bool Unfollow Condition: Unfollow those who have not posted in a while (inactive) True unfollow_probably_fake bool Unfollow Condition: Unfollow accounts which skewed follow/follower ratio (probably fake) True unfollow_selebgram bool Unfollow Condition: Unfollow (celebrity) accounts with too many followers and not enough following False unfollow_everyone bool Unfollow Condition: Will unfollow everyone in unfollow queue (wildcard condition) False
Contributing
Please feel free to contribute and submit PR requests. All help is appreciated. Look for issues with the label needs help.
Instabot with yaml config
By default, instabot looks for configuration file (instabot.config.yml) it could be changed by exporting environment varibale with the full path
export INSTABOT_CONFIG_FILE=instabot2.config.yml
--- login : "username" password : "password" debug: 1 #Send INFO notification to Telegram channel logging.handlers.telegram: level: INFO class: telegram_handler.TelegramHandler token: __YOUR__CHANNEL__TOKEN__ chat_id: __CHAT_ID__ logging.loggers.InstaBot.handlers: - telegram - console follow_time: 1200 unfollow_per_day: 1000 follow_per_day: 1000
Create Telegram bot for instabot
Blogs
- Instabot-Py Rework: What's changed & how to configure the Telegram handler
- What’s new in the Instagram bot 0.5.2
Community
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK