Package: insomniac
InsomniacSimple and friendly automation tool which brings more followers to your Instagram account and engages existing audience. Automatic liking, commenting, following/unfollowing, scraping and sending direct messages. Everything works from your own Android phone/tablet/emulator under your full control.No root required.IMPORTANT NOTICE:Insomniac iscompletely free & opensourceas ofv3.9.0. "Extra features" that used to be paid are now available in this repo for free. But the project is not being actively supported right now. I cannot guarantee its workability for all Instagram and Android versions, since fresh updates require Insomniac code modifications as well. However, the code is well-structured, which makes the repo a good base for adding your changes to adjust Insomniac for your setup.Why Automating Instagram Activity (Liking, Following, etc.)?💸 If you want just toincreaseyour followers count or get more likes, there's a bunch of companies that will give you that immediately for a few $$$. But most likely your audience will be merely bots and mass-followers.🌱 If you want to get engaged followers, that will be interested in your content and probably will pay you for your services, thenautomationis the right way.📈 This Instagram bot provides you methods totargeton the audience that is most likely interestedin you. Generally these methods are (with growing complexity):Interact with users who follow specificbloggersor like posts by specifichashtags.Easiest level, just one Insomniac command.Same, but from those users interact only with yourtarget audience. Meaning that you can pick users by specific parameters: by gender, by language, by posts count, etc.Still one Insomniac command, but you'll have to add a file with "filtering" parameters.Scrapeyour target audience from other accounts and use your main account only to interact. This reduces the app time-spent of your main account and makes the main account significantly less suspicious to Instagram.You'll have to learn how to use Insomniac "configs" and combine them into an infinite loop – so that everything would work by itself.Getting StartedWe have an awesomedocumentationwhere you will find installation instructions for Windows, macOS, Ubuntu and Raspberry Pi.Basically all you need is a machine with Python 3 and a connected Android phone. In case you don't have a phone, we have posts explaining how to make it work with a free Android emulator:Windows,macOS,Ubuntu.Please use a specific Instagram app version which you can find in the header (click on the "IG version" badge). That's because Instagram UI gets changed pretty often, so we guarantee a stable work only on versions up to a specific number.The simplest Insomniac command to start with would be something like this:python3 start.py --interact @natgeo-followersBut better check the docs.FilteringEventually you will come to the point where you want to avoid accounts with thousands of followings. Or with zero posts. Or with some other red flags which you will choose for yourself. Here's the full list:ParameterValueDescriptionskip_businesstrue/falseskip business accounts if trueskip_non_businesstrue/falseskip non-business accounts if truemin_followers100skip accounts with less followers than given valuemax_followers5000skip accounts with more followers than given valuemin_followings10skip accounts with less followings than given valuemax_followings1000skip accounts with more followings than given valuemin_potency_ratio1skip accounts with ratio (followers/followings) less than given value (decimal values can be used too)max_potency_ratio1skip accounts with ratio (followers/followings) higher than given value (decimal values can be used too)privacy_relation`"only_public"/"only_private"/"private_and_public"choose with accounts of which type you want to interact,"only_public"by defaultmin_posts7minimum posts in profile in order to interactmax_digits_in_profile_name4maximum amount of digits in profile name (more than that - won't be interacted)skip_profiles_without_storiestrue/falseskip accounts that doesnt have updated story (from last 24 hours)blacklist_words["word1", "word2", "word3", ...]skip accounts that contains one of the words in the list in the profile biographymandatory_words["word1", "word2", "word3", ...]skip accounts that doesn't have one of the words in the list in the profile biographyspecific_alphabet["LATIN", "ARABIC", "GREEK", "HEBREW", ...]skip accounts that contains text in their biography/username which different than the provided alphabet listskip_already_following_profilestrue/falseskip accounts that your profile already followed, even if not followed by the botonly_profiles_with_faces"male"/"female"/"any"analyze profile picture and leave only profiles with male/female/any face on the avatarYou can find how to use them in thedocumentation. But don't tense up, it's as easy as create a file called "filters.json" and put it into a folder.Command-Line Arguments vs ConfigsAt some point we realised that there appeared so many Insomniac command-line arguments that they became difficult to handle.Tip: by the way, you can see all available commands by runningpython3 start.pywith no arguments.What we did is we introduced a concept of "configs". So instead of writing a veeeery long command like this:python3 start.py --interact @natgeo-followers @natgeo-following amazingtrips-top-likers amazingtrips-recent-likers P-antartica-top-likers P-antartica-recent-likers amazingtrips-top-posts amazingtrips-recent-posts P-antartica-top-posts P-antartica-recent-posts --speed 4 --wait-for-device --likes-count "1-2" --likes-percentage "75" --interactions-limit-per-source "12-16" --successful-interactions-limit-per-source "6-8" --total-interactions-limit "100-200" --total-successful-interactions-limit "50-60" --total-likes-limit "50-60" --total-get-profile-limit "300-400" --session-length-in-mins-limit "50-60"You can just write this:python3 start.py --config-file interact-likes-only.jsonWhereinteract-likes-only.jsonis a config file which you will just put in the folder where you run the command from.The interesting thing about configs is that you can add a fieldnext_config_filein any config. So a config will launch another config. You can also specify a sleeping time between them using therepeatfield (in minutes). Using this technique you can create infinite loops of configs, see exampleshere. Such loops are calledflows.Scraping and Interacting with TargetsBasically to interact with targets you can runpython3 start.py --interact-targetsThis means that Insomniac will search for targets either intargets.txtfile (if provided) or in the database. The only way for targets to appear in the database is to usescraping. Scraping basically means searching for specific accounts to interact withas the targets for the main account. So when scraping you always have to specify this main account like this:--scrape-for-account username.See scraping config exampleshere.Extra FeaturesAs you can imagine, this project's development and support takes a lot of energy, so in order to continue working we made part of the features paid. These features are calledextra features, because they are not necessary to run the project. But most likely you'd like to have them.You can find the full list of extra features in thedocumentation.As a free bonus you'll get a Telegram bot@your_insomniac_botwhich can send you current stats. So you'll be able to monitor your setup health from anywhere. Read more in one of ourPatreon posts.CommunityWe have aDiscord serverwhich is the most convenient place to discuss all bugs, new features, Instagram limits, etc. If you're not familiar with Discord, you can also join ourTelegram chat. And finally, all useful info is posted on ourPatreon page.