Human-like Instagram bot powered by UIAutomator2
Project description
GramAddict
Looking for Instagram automation? I'm proud to present you a 100% free and open source Instagram bot. This bot will allow you to grow your following and engagement by liking, following, commenting and sending PM automatically with your Android phone/tablet/emulator. No root required.
Why should I automate my Instagram account?
It's very hard nowadays to grow an account. Have you ever been on the explore page? IG will show your post only to close accounts & accounts you interact most with, you will never be on the explore page. Nobody will see your beautiful photos, your hilarious memes, or whatever you are posting. But now you can do something about that! With GramAddict you can get noticed easily, and if you really deserve it, your account will grow super fast!
So, do I need to publish good content to grow?
Of course you have to! This bot will mainly help you to get the visibility you deserve and which is Instagram not giving you.
Ok but I don't know how to start this journey...
Don't worry about that now, it's not that hard to start botting with GramAddict! I tried to make it as noob-friendly as possible. In any case, if you follow the docs with all the steps provided, you will make it! You are also invited to join our community and ask for any help!
There is a community around this project?
Yes! We are on discord and we count a lot of active users you can ask us whatever you want!
I saw there are a lot of similar projects on GitHub, why should I choose this one?
You're right, there are plenty of other bot solutions. Most of them use API requests. However, you will get your account banned if you use API (1-30 days)! There's also a very similar project to this one, yet it's not free and the dev doesn't care about the community much. They removed few lines from the core and ask you for a subscription plan in order to use those features. Furthermore, you don't even know what's the real code during execution - it's encrypted. And if they are stealing something else? Who knows? I don't. This bot is free to use and open source, you won't get charged for few extra lines, EVER. I'm focused on the community and not on finding ways how to get money out of this project. I really care about the community and every dev should too. 🤗
So this bot does not use API?
No this bot is working through adb and is powered by uiautomator2 which is a testing wrapper for Android devices. In fact, your device (or an emulator) is used for doing the botting sh*it. That's very secure compared to other botting systems around there. I also made it look as much human as possible. You can think about the bot as a stupid friend using your phone and doing things for you. The example bottom is quite old but will show you what we are talking about.
Urra! I'll never get banned anymore with this bot!
No no no, wait! 🤦 You have to configure the bot for doing things as a human would do. Do you really spend all the day scrolling on Instagram? If yes contact a medic :P You don't have to do so many actions or Instagram will block you. That appends even if you do that by your hands.. Have you ever added a lot of people in a row and got blocked for that action? Or spamming people with a link in PM? DON'T F*CKING DO THAT
Be gently and anonymous and nobody will notice that you're botting, trust me.
Do I need a computer for running the bot?
Yes, but you can also run it directly on your phone!!
In any case, you can decide to use a physical device or an emulator. If you're under Windows I suggest you use Memu, under Mac OS we found out that Android studio works well (Installable with homebrew). For hosting the bot you can use:
- your computer (with Windows, macOS, or Linux)
- a Raspberry (which is a cheap little pc Linux based)
Cool! What can I do with this bot?
There are lots of cool features you can use for free!
-
Works without rooting
-
Works with both emulators and physical devices
-
Can be used stand-alone (without the use of a computer)
-
Includes realistic random human-like delays and actions
-
Can watch stories while interacting
-
Comment post with emojis and spintax logic
-
Send PM
-
Type like a human (letter by letter by faking using suggestions. For example, you won't type
H - e - l - l - o
letter by letter but something likeH - He - Hello
) -
Browse carousels and watch their contents
-
Watch videos for a specific amount of time
-
Scheduler
-
Getting tasty telegram reports
-
Supports multiple actions in one session
-
Lots of customizable limits to keep your account safe from soft bans
-
Available interactions
- interact with a user's followers or following
- interact with a top or recent hashtag's post likers
- interact with a top or recent hashtag post
- interact with a top or recent place's post likers
- interact with a top or recent place post
- interact with user's post likers
- interact with a single blogger
- interact with your feed
- interact with users from a list (*.txt)
- interact with posts from links inside a list (*.txt)
- unfollow any followers
- unfollow any followers, followed by bot
- unfollow any followers, followed by bot, who don't follow you back
- unfollow from a list (*.txt)
- scrape mode for collecting usernames instead of interacting with them (you will find more information about that in the doc)
-
Lots of available filters to customize who you interact with
- you can blacklist people to avoid interacting with them
- you can whitelist people to not remove them when you unfollow people
- biography main characters and language
- profile name main characters
- private / public / business / non business account
- number of posts / followers / following ... and more!
Full documentation available on docs.gramaddict.org
Telegram reports? What's that?
You can get reports through telegram from your bot activities! Follow this guide to accomplish that.
In this case trends are negative because I use this account only for tuning this bot, and it's private... I didn't accept anyone lately so the trends are meh :P
Cool, isn't it? 💦
Quick start
Now that you're there you still don't know how to install that whole thing. I'll try to help you accomplish that with a short tutorial. The full is available here.
What do you need:
- a computer (with Windows, macOS or Linux)
- Python installed on your machine (with pip)
- Adb tools
- a physical device or an emulator (with Android 4.4+)
Step 1: Install Python (>=3.6):
Python 3.10 is currently not supported!
If you're on Linux or macOS you should have Python and Git installed, just check that your Python version is >= 3.6.
On Windows you have to install it for sure.
Failed? Detailed tutorial here.
A little reminder: we refer to python with python3. You may also have python2 installed if you're on Linux for example. If you're on Windows you can use python instead of python3. Check which python alias you have to use by typing
python -V
orpython3 -V
orpy -V
and use the right one for the rest of the tutorial.
Check that pip3 is installed by typing
pip3 -V
If that returns an error you have to install it! How? Google is your best friend! :P
Step 2: Install GramAddict:
You can install GramAddict in two ways: with pip or with git. Is good practice creating virtual environments when you install a new package. That will save you from a lot of problems!
Create a virtual environment
We create a virtual environment called .venv
and activate it:
- create a directory where you will create the new environment
- write in console:
python3 -m venv .venv
We use
venv
instead ofvirtualenv
becausevenv
is shipped directly with python3 and you don't have to install anything 🤪 - activate the .venv:
source .venv/bin/activate
on Linux/macOS.venv\Scripts\activate.bat
on Windows cmd.venv\Scripts\activate.ps1
on Windows PowerShellIf you activate the venv correctly, you will see a little (.venv) on the left side of the command line!
With pip (I suggest you this way):
- install the package:
pip3 install GramAddict
- check if it's installed:
gramaddict --version
- if everything is fine you will get the GramAddict version installed 🥳
With git:
Warning: console commands like
gramaddict init
,gramaddict dump
andgramaddict run
won't work if you installed the bot with git.
- clone the project:
git clone https://github.com/GramAddict/bot.git gramaddict
- enter the gramaddict folder:
cd gramaddict
- install the requirements:
pip3 install -r requirements.txt
Step 3: Install adb:
Adb stands for Android Debug Bridge. It's needed for making this bot working properly. I think this one is the hardest part to accomplish but don't give up! You can do it, with my help. 💪
- download this package and unzip it somewhere and remind the path
Warning: place that where you're sure you won't ever delete it, otherwise the bot won't work anymore!
- add platform-tools path to the PATH environment variable
- if you're on Linux/macOS that's pretty easy:
- open ~/.bash_profile with any text editor you like
- add the following line with the full path to the platform-tools directory: export PATH=~/Library/Android/sdk/platform-tools/:$PATH. This path may be different depending on the way you installed platform-tools
- save file and restart Terminal
- on Windows there are more steps to accomplish that:
- open Windows Explorer (you can press WINKEY+E) and right-click "My Computer" on left side
- in the pop-up menu, click
Properties
- in the
System Properties
window, click theAdvanced
tab, and then clickEnvironment Variables
- in the
System Variables
window, highlightPath
, and clickEdit
- in the
Edit System Variables
window, press onNew
- enter the full path for the folder platform-tools you unzipped before
- press all the Ok and restart Command Prompt
- if you're on Linux/macOS that's pretty easy:
- check that everything is fine
- write
adb version
, you should get something like that:C:\Users\dedil>adb version Android Debug Bridge version 1.0.41 Version 30.0.5-6877874
- write
Step 4: Set up the device:
Physical device
- First thing you have to do is to enable developer options and USB debugging.
- connect your phone to your computer with a USB cable
- device will ask you to allow connection. Press "Connect"
Emulator for Mac OS
- Install the Homebrew
- Install the Cask by running
brew install cask
- Add the Cask application folder to your
$PATH
, e.g.echo 'export PATH="$HOME/.cask/bin:$PATH"' >> ~/.bash_profile
and open a new terminal or reload withsource ~/.bash_profile
- Install the Android Studio
- Run the Android Studio and click on 'More Actions -> Virtual Device Manager', then select the device and image, I found out that Pixel 2 API 28 combo works well.
- Run the virtual device and install the Instagram app on it, don't forget to log in.
Verify the device with adb
Type adb devices
in terminal
-
a list of devices attached should be displayed, if not you did something wrong
List of devices attached A0B1CD2345678901 device
-
this is your device ID, you have to use it only if you have more than one device connected at the same time
Step 5: Start the bot:
This bot works only if your Instagram is in English.
- initialize uiautomator2:
uiautomator2 init
- initialize GramAddict:
gramaddict init your_ig_account_name_here
Warning: works only if you installed the bot with pip, if you used git you have to create account folder and youraccountname folder manually.
- that script will crate all the files you need for configure and start this bot
- you will find them inside the folder
accounts/youraccountname/
gramaddict/ run.py accounts/ youraccountname/ config.yml telegram.yml filters.yml whitelist.txt blacklist.txt comments_list.txt pm_list.txt
- now that you have all the requirements you have to configure the whole thing by following this guide
- now you're done, and you can finally start the bot:
python3 run.py --config accounts/yourusername/config.yml
orgramaddict run --config accounts/yourusername/config.yml
Failed? Check this out!
Bot crashes, what should I do?
The script isn't perfect and may fail sometimes. If this is the case you can open a ticket on our discord channel. In that way you won't share with anyone your Instagram account name 😈. We'll be very happy to help you!
WOW! You dedicated so much time to this project! Why you did that for free??
Well, we used to be in three a long time ago but suddenly my two friends left. This has been an opportunity for me to improve my skills in Python and that's why I didn't leave the project and keep maintaining it. But of course donations are very welcome, so if you think I did a great job you can buy me a beer :)
Can I do something to make this project grown?
On GitHub there is a star system
which indicates how good a project is. If you like this project it will be amazing if you can press the little star at the top! ⭐
Contributors
This project exists thanks to all of our Contributors [Contribute].
Backers
Thank you to everyone that supports us financially! 🙏 [Become a backer]
Talk botty with us
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gramaddict-3.2.12.tar.gz
.
File metadata
- Download URL: gramaddict-3.2.12.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b056880e7cfa702a38ae5d6be64a244d15ec40c4e78ab2a47de943843df3e5f |
|
MD5 | ed883dc775501f07f88ba2b08745ee99 |
|
BLAKE2b-256 | 813a73e6f1192e0a3ec1a10c1ddc724a782c047e4486df15d0b49b7fc83f3d0c |
File details
Details for the file gramaddict-3.2.12-py3-none-any.whl
.
File metadata
- Download URL: gramaddict-3.2.12-py3-none-any.whl
- Upload date:
- Size: 117.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bead962b0cb4c36fb107eb8d7d7fa4fde3b01c8ad38e23fd255a6b51411d2db9 |
|
MD5 | b08cb6344e623e76b898dbc5482613fc |
|
BLAKE2b-256 | b1fdde2d07d3c5ba2b22231d57e0ac91ca7345b175e37db72e344bb7642f4173 |