Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- instabot example
- Workflow:
- Like rescent medias from your timeline feed.
- """
- import argparse
- import os
- import sys
- import time
- import random
- sys.path.append(os.path.join(sys.path[0], '../'))
- from instabot import Bot, utils
- parser = argparse.ArgumentParser(add_help=True)
- parser.add_argument('-u', type=str, help="username")
- parser.add_argument('-p', type=str, help="password")
- parser.add_argument('-proxy', type=str, help="proxy")
- args = parser.parse_args()
- f = open('setting.txt')
- lines = f.readlines()
- setting_0 = int(lines[0].strip())
- setting_1 = int(lines[1].strip())
- setting_2 = int(lines[2].strip())
- setting_3 = int(lines[3].strip())
- setting_4 = int(lines[4].strip())
- setting_5 = int(lines[5].strip())
- setting_6 = int(lines[6].strip())
- setting_7 = int(lines[7].strip())
- setting_8 = int(lines[8].strip())
- setting_9 = int(lines[9].strip())
- setting_10 = int(lines[10].strip())
- setting_11 = int(lines[11].strip())
- setting_12 = int(lines[12].strip())
- setting_13 = int(lines[13].strip())
- setting_14 = int(lines[14].strip())
- setting_15 = int(lines[15].strip())
- setting_16 = int(lines[16].strip())
- setting_17 = int(lines[17].strip())
- setting_18 = lines[18].strip()
- bot = Bot(
- filter_users=False,
- max_likes_per_day=setting_0,
- max_unlikes_per_day=setting_1,
- max_follows_per_day=setting_2,
- max_unfollows_per_day=setting_3,
- max_comments_per_day=setting_4,
- max_likes_to_like=setting_5,
- max_followers_to_follow=setting_6,
- min_followers_to_follow=setting_7,
- max_following_to_follow=setting_8,
- min_following_to_follow=setting_9,
- max_followers_to_following_ratio=setting_10,
- max_following_to_followers_ratio=setting_11,
- min_media_count_to_follow=setting_12,
- like_delay=setting_13,
- unlike_delay=setting_14,
- follow_delay=setting_15,
- unfollow_delay=setting_16,
- comment_delay=setting_17,
- filter_previously_followed=True,
- stop_words=[
- 'order',
- 'shop',
- 'store',
- 'free',
- 'doodleartindonesia',
- 'doodle art indonesia',
- 'fullofdoodleart',
- 'commission',
- 'vector',
- 'karikatur',
- 'jasa',
- 'open'])
- c_stop = [ '@', '#' ]
- bot.login(username=args.u, password=args.p,
- proxy=args.proxy)
- while True:
- liked = []
- amount = 15
- medias = bot.get_timeline_medias(filtration=False)
- print ("Got %d medias" % len(medias))
- if medias:
- print("Found %d medias" % len(medias))
- for media in medias:
- usr = bot.get_media_owner(media)
- usr_i = bot.get_user_info(usr)
- if 'username' in usr_i:
- uname = usr_i['username']
- else:
- uname = "unknown"
- print("\nUser %s (%s), Flwrz: [%d], Media %d" % (uname, usr, usr_i['follower_count'], media))
- if usr_i['follower_count'] < bot.min_followers_to_follow and not 'scottish' in uname and not 'fold' in uname:
- print("Too few followers")
- else:
- comms = bot.get_media_comments_all(media, count=random.randint(85,115))
- print("Found %d comments" % len(comms))
- cmm = 0
- for comm in comms:
- if 'has_liked_comment' in comm:
- if comm['has_liked_comment'] == False:
- has_stops = False
- for stop_word in c_stop:
- if stop_word in comm['text'].lower():
- has_stops = True
- u = "n/a"
- if 'user' in comm:
- uu = comm['user']
- if 'username' in uu:
- u = uu['username']
- uid = comm['user_id']
- toskip = 0
- skipmes = ''
- if has_stops:
- toskip = 1
- skipmes = "Stop Words"
- if uid == usr:
- toskip = 2
- skipmes = "Owner"
- if toskip == 0:
- cmm = cmm + 1
- bot.logger.info("[%d] Like: %s: %s" % (cmm, u, comm['text']))
- bot.like_comment(comm['pk'])
- liked.append(uid)
- time.sleep(random.randint(3, 20))
- else:
- bot.logger.info("[Skip: %s]: %s: %s" % (skipmes, u, comm['text']))
- else:
- liked.append(comm['user_id'])
- # print("Liked")
- if cmm >= amount:
- bot.logger.info("Reached %d limit" % amount)
- break
- if cmm > 0:
- bot.logger.info("Liked %d comments, waiting a few..." % cmm)
- time.sleep(5)
- wait = 50 # in seconds
- bot.logger.info("Sleeping %d seconds..." % wait)
- for x in range(wait, 0, -1):
- if (x % 10) == 0:
- print(x)
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement