All Projects → MoritzGruber → instabot

MoritzGruber / instabot

Licence: MIT license
A Instagram bot for educational purposes

Programming Languages

python
139335 projects - #7 most used programming language
PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to instabot

Node Vk Bot Api
🤖 VK bot framework for Node.js, based on Bots Long Poll API and Callback API.
Stars: ✭ 195 (+441.67%)
Mutual labels:  bots
BEW-2.5-Strongly-Typed-Languages
💪 Learn and implement the design patterns and best practices that make Go a top choice at high-velocity startups like Lyft, Heroku, Docker, Medium, and more!
Stars: ✭ 14 (-61.11%)
Mutual labels:  bots
MaratonaBots
Códigos em Node.js da Maratona Bots
Stars: ✭ 29 (-19.44%)
Mutual labels:  bots
Rasa core
Rasa Core is now part of the Rasa repo: An open source machine learning framework to automate text-and voice-based conversations
Stars: ✭ 2,302 (+6294.44%)
Mutual labels:  bots
Chatbot
Python ChatBot 💬
Stars: ✭ 250 (+594.44%)
Mutual labels:  bots
api-docs
🌞The REST API documentations of the ALIS.
Stars: ✭ 26 (-27.78%)
Mutual labels:  socialmedia
Delbot
It understands your voice commands, searches news and knowledge sources, and summarizes and reads out content to you.
Stars: ✭ 191 (+430.56%)
Mutual labels:  bots
info-bot
🤖 A Versatile Telegram Bot
Stars: ✭ 37 (+2.78%)
Mutual labels:  bots
SocialMedia-App
A fully functional social media app built with flutter with multiple features
Stars: ✭ 646 (+1694.44%)
Mutual labels:  socialmedia
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+3944.44%)
Mutual labels:  bots
Botgram
⚙️ Microframework to build Telegram bots
Stars: ✭ 215 (+497.22%)
Mutual labels:  bots
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+7855.56%)
Mutual labels:  bots
OrionServer
An open-source, centralized HTTPS botnet
Stars: ✭ 58 (+61.11%)
Mutual labels:  bots
Maratona Bots
Maratona Bots é um curso de capacitação para desenvolvimento de Bots, utilizando APIs e outros serviços de Inteligência Artificial, feito pela comunidade em parceria com a Microsoft.
Stars: ✭ 198 (+450%)
Mutual labels:  bots
tgintegration
Integration test and automation library for Telegram Messenger bots based on Pyrogram.
Stars: ✭ 113 (+213.89%)
Mutual labels:  bots
Botbuilder Microsoftteams
Microsoft Bot Builder extension library for developing bots for Microsoft Teams
Stars: ✭ 192 (+433.33%)
Mutual labels:  bots
FreeBotCoin
Bot bet Freebitcoin
Stars: ✭ 67 (+86.11%)
Mutual labels:  bots
zap-db
An easy to use JSON database written with ease of setup and memory management of slack bots in mind.
Stars: ✭ 103 (+186.11%)
Mutual labels:  bots
bpre
bot protection reverse engineering
Stars: ✭ 181 (+402.78%)
Mutual labels:  bots
telectron
Telegram desktop client [WIP]
Stars: ✭ 19 (-47.22%)
Mutual labels:  bots

Instabot

Disclaimer: The whole Application is for educational purposes only.

dashboard-example-image

Setup

Make sure to get the right chromedriver for your system from here. Put it in app/assets and add a valid instagram account in the config.json.

Linux x64 Ubuntu 16.04 LTS

cd instabot 
bash linuxsetup.sh

Make sure to put a valid instagram account in the config.json

Mac

Requirements: Python3, Pip3, node, npm, php, php compose, chrome browser

cd instabot 
./macsetup

Dashboard

The Dashboard consists of 3 parts

  • Website (Dashboard GUI)
  • Node.js server
  • Python Remote Executer

Running on port localhost:3000

Run

Node.js Server:

cd dashboard
node index.js

Python Remote Executer:

cd app
python3 remoteExec.py

Micro Services

You can start and use the micro services on it's own. They are located at app/Services/Content.

statistics

Returns different information from a Instagram account:

  • timestamp
  • username
  • follower_count
  • following_count
  • media_count
  • usertags_count
  • feed_items
  • likes
  • comments

Usage

from Services.Content import Statistics
username = 'someusername'
res = Statistics.getUserInformation(username)

Use carefully on users with a lot of posts (1000+), long duration loading times and potential ban of the parser account, because of to many API calls: about one for each ~18 posts.

Results

The received data gets returned and written into savedStatus/userinformation.json.

Content Services

grabcomments

Grabs different comments for a specified topic.

Usage
from Services.Content import Comments
topic='dog'
maxpp=2
num=10
res = Comments.getComments(topic, maxpp, num)

Where topic is your specified hashtag, maxpp is the number of comments grabbed per picture and num is the overall number of comments which get returned.

Results

The received data gets returned and written into savedStatus/comments.json.

generateHashtags

Finds similar hashtags to one given hashtag.

Usage
from Services.Content import Hashtags
topic= 'dog'
amount= 15
res = Hashtags.generate(topic, amount)

Results

The received data gets returned and written into savedStatus/hashtags.json.

generateImages

Finds similar hashtags to one given hashtag.

Usage
from Services.Content import Images
topic= 'dog'
res = Images.generate(topic)
Results

The received image links gets returned and written into savedStatus/images.json.

Scheduling Services

HumanScheduler

The HumanScheduler adds some random delay between executed tasks

Usage
from Services.Scheduling import HumanScheduler
from Services.Tasks import InstaPySession

Tasks = [InstaPySession.InstaPyTask, InstaPySession.InstaPyTask, UploadImage.uploadTask]
HumanScheduler.mainloop(Tasks)

SleepJob

The SleepJob stops the bot in the evening and wakes him up in the morning like a real human.

Usage
from Services.Scheduling import SleepJob
from Services.Scheduling import HumanScheduler
from Services.Tasks import InstaPySession

Tasks = [InstaPySession.InstaPyTask, InstaPySession.InstaPyTask, UploadImage.uploadTask]
SleepJob.start(HumanScheduler.mainloop, Tasks)

This is used as another layer around the HumanScheduler

Upload Image Service

This service uses gathered data to make posts. This can be a Task for the Scheduler

Usage

from Services.Tasks import UploadImage
UploadImage.uploadTask.run()

The following code will access the saved data under ./app/savedStatus -> So make sure hashtags and Images have already been generated.

Configuration

To configure the project change the example config file (./config.json)

{
  "username": "someinstagramaccount",
  "password": "somepassword",
  "amountOfHashtags": 10,
  "topic": "computer",
  "wakeUpHour": 8,
  "sleepHour": 22,
  "marginTime": 1.5,
  "maxImagesPerDay": 18,
  "minImagesPerDay": 4,
  "maxLikePerDay": 900,
  "minLikePerDay": 100,
  "percentageToFollow": 6.66,
  "lowerFollowerCount": 2,
  "upperFollowerCount": 400,
  "minBreakAfterATaskInMinutes": 1.00,
  "maxBreakAfterATaskInMinutes": 60.00
}

FAQ

  • What means: checkpoint_required response? -> Account blocked, login manually and unlock it with sms code.

Licence MIT

Credits: David Bochan, Moritz Gruber

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].