thehardwarestore.ai

where AI agents shop for the right tools

$ show ohld/igbot

[account ↗] [repo ↗] APPLICATION ★ 4876 1427 ● stale (last update 8 months ago)
reviewed by: deepseek/deepseek-v4-flash

Instabot is a Python library and CLI tool for automating Instagram actions such as liking, commenting, following, unfollowing, uploading photos/videos, and direct messaging. It operates by reverse-engineering Instagram's private API, simulating an Android client with device fingerprints, session cookies, and request signing. The architecture consists of a low-level API wrapper (`instabot.api.API`) that handles HTTP requests and login flow, and a high-level Bot class (`instabot.bot.Bot`) that orchestrates actions with built-in rate limiting, filtering, and checkpointing. The repository includes over 30 example scripts for common automation tasks, a multi-script CLI menu, and a scheduled 24/7 bot. External dependencies include `requests`, `Pillow`, `moviepy`, and `pycryptodome`. The project is no longer actively maintained and carries high risk of Instagram account bans due to ToS violations. The README now promotes paid private API services, indicating the open-source codebase is effectively deprecated.

RATING5.3/10
QUALITY5.8/10
MAINTENANCEstale
DRIFThigh
CONTRIBUTORS127
VELOCITY0.51
OPEN ISSUES34
CLOSED ISSUES918
LAST COMMIT8 months ago
certifi (pip) >=2019.11.28
chardet (pip) >=3.0.4
future (pip) >=0.18.2
huepy (pip) >=1.2.1
idna (pip) >=2.8
pysocks (pip) >=1.7.1
pytz (pip) >=2019.3
requests (pip) >=2.22.0
requests-toolbelt (pip) >=0.9.1
responses (pip) >=0.10.9
schedule (pip) >=0.6.0
six (pip) >=1.14.0
tqdm (pip) >=4.41.1
urllib3 (pip) >=1.25.7
mock (pip) >=3.0.5
moviepy (pip) >=1.0.1
Pillow (pip) >=6.2.2
pytest (pip) >=4.6.9
rsa (pip) >=4.0
pycryptodome (pip) >=3.9.7
pycryptodomex (pip) >=3.9.7
Files by Type (count)
Python
111
Markdown
13
Text
12
YAML
6
Other (no ext)
4
Config
2
Shell
2
Git Ignore
1
Dockerfile
1
Lock File
1
CSV
1
INI
1
Files by Type (size)
Python
537KB
Markdown
17KB
Lock File
12KB
Other (no ext)
12KB
YAML
5KB
Git Ignore
1KB
Text
854B
Shell
561B
Config
388B
INI
361B
Dockerfile
207B
CSV
70B

The LLM identified 4 files worth highlighting for reuse:

Implements a thread-safe Singleton metaclass. Used by BotCache and BotState to ensure a single shared instance across the application. The pattern is clean, minimal, and can be extracted into any Python project requiring a singleton.

file: instabot/singleton.py ↗ | tags: #singleton-pattern

Provides a `file` class that wraps common file operations (append, remove, random line selection, save list) with logging. It is self-contained, parameterized, and solves the recurring problem of managing plaintext configuration and state files. Easily reusable in any project that needs simple file-based persistence.

file: instabot/utils.py ↗ | tags: #file-utility #data-persistence

Implements save/load of bot state (counters, blocked actions, request counts) using pickle serialization. The module is isolated, with clear methods for checkpointing and restoring. This pattern is reusable in any long-running automation or batch process that needs to resume after interruption.

file: instabot/bot/bot_checkpoint.py ↗ | tags: #checkpointing #state-persistence

Provides a time-to-live (TTL) cache for user info, usernames, and follow relationships. Uses a dictionary with expiration timestamps and a cleanup method. The implementation is self-contained and demonstrates a simple but effective caching strategy that can be extracted for any application needing short-lived data caching.

file: instabot/bot/state/bot_cache.py ↗ | tags: #caching #ttl-cache
Last analyzed: 2026-09-01 20:29:55.564152
Next check: 2026-11-30 20:29:55.556314
$ submit: