Esempio n. 1
0
def main():
    # main operations

    data = parse_config('config.json')
    profile = InstaProfile(path='cache/', params=data)
    instabot = InstaBot(profile, data=data)
    instabot.main()
Esempio n. 2
0
def main():
    config = ConfigManager()
    config.set_many(DEFAULT_CONFIG)
    _config = ConfigManager(schema=schema, defaults=defaults)
    config.set_many(_config.as_dict())
    config_file = _config.get('config.file')
    config.set_many(ConfigManager(schema=schema, path=config_file).as_dict())
    config.set_many(_config.as_dict())
    config.commit()

    configure_logging(config)
    if config.get('dump_configuration'):
        conf = config.as_dict()
        conf.pop('config42')
        conf.pop('dump_configuration')
        print(yaml.dump(conf))
        exit(0)
    if config.get('show_version'):
        print("Installed version {}".format(src.__version__))
        exit(0)

    if not config.get('ignore_updates'):
        last_version = get_last_version()
        if last_version and last_version != src.__version__:
            print("Newer version available: {}, The current version: {}".format(last_version, src.__version__))
            print("To update, please type \n python3 -m pip install instabot-py --upgrade --no-cache-dir ")
            print("")
            print("  > You can ignore warning, run the instabot with --ignore-updates flag")
            exit(0)

    try:
        bot = InstaBot(config=config)
        if config_file:
            bot.logger.info(f"Reading configuration ({len(_config.as_dict())} settings) from {config_file}")
        else:
            bot.logger.info(f"Use the default configuration, add '-c your-config.yml' to specify your config")

    except CredsMissing:
        print("You didn't provide your Instagram login & password or you didn't specify the configuration file")
        print("Try again :")
        print("")
        print("   instabot-py --login YOUR_LOGIN --password YOUR_PASSWORD")
        print("   instabot-py -c your-config.yml")
        print("You can export and modify the default configuration by typing the command below")
        print("    instabot-py --dump")
        exit(1)
    bot.mainloop()
Esempio n. 3
0
import time

bot = InstaBot(
    login="******",
    password="******",
    like_per_day=1000,
    comments_per_day=0,
    tag_list=['follow4follow', 'f4f', 'cute'],
    tag_blacklist=['rain', 'thunderstorm'],
    user_blacklist={},
    max_like_for_one_tag=50,
    follow_per_day=5000,
    follow_time=1 * 60,
    unfollow_per_day=5000,
    unfollow_break_min=15,
    unfollow_break_max=30,
    log_mod=0,
    # Use unwanted username list to block users which have username contains one of this string
    ## Doesn't have to match entirely example: mozart will be blocked because it contains *art
    ### freefollowers will be blocked because it contains free
    unwanted_username_list=[
        'second', 'stuff', 'art', 'project', 'love', 'life', 'food', 'blog',
        'free', 'keren', 'photo', 'graphy', 'indo', 'travel', 'art', 'shop',
        'store', 'sex', 'toko', 'jual', 'online', 'murah', 'jam', 'kaos',
        'case', 'baju', 'fashion', 'corp', 'tas', 'butik', 'grosir', 'karpet',
        'sosis', 'salon', 'skin', 'care', 'cloth', 'tech', 'rental', 'kamera',
        'beauty', 'express', 'kredit', 'collection', 'impor', 'preloved',
        'follow', 'follower', 'gain', '.id', '_id', 'bags'
    ])
while True:
Esempio n. 4
0
bot = InstaBot(
    login="",
    password="",
    like_per_day=0,
    comments_per_day=0,
    tag_list=[
        'writer', 'author', 'penulis', 'penulisindonesia', 'publisher',
        'sastra', 'puisi', 'sajak', 'write', 'poet', 'poetry',
        'creativewriting', 'menulis', 'latepost', 'blogger',
        'bloggerindonesia', 'blog', 'tangerang', 'jakarta', 'padang', 'medan',
        'pelembang', 'bogor', 'follow4follow', 'f4f', 'followme', 'follow',
        'fff', 'cute'
    ],
    tag_blacklist=['rain', 'thunderstorm'],
    user_blacklist={},
    max_like_for_one_tag=50,
    follow_per_day=1000,
    follow_time=1 * 60,
    unfollow_per_day=0,
    unfollow_break_min=15,
    unfollow_break_max=30,
    log_mod=0,
    # Use unwanted username list to block users which have username contains one of this string
    ## Doesn't have to match entirely example: mozart will be blocked because it contains *art
    ### freefollowers will be blocked because it contains free
    unwanted_username_list=[
        'free', 'follow', 'shop', 'store', 'toko', 'jual', 'art', 'photo',
        'graphy', 'sepatu', 'tas', 'baju', 'dress', 'elf', 'grosir', 'distro',
        'original', 'bandung', 'solusi', 'cepat', 'hamil', 'program', 'hiasan',
        'dinding', 'kamar', 'princess', 'life', 'consultant', 'peninggi',
        'badan', 'dunia', 'shop', 'label', 'world', 'kpop', 'lover', 'image',
        'food', 'murah', 'butik', 'harga', 'kids', 'muslim', 'olshop', 'lucu',
        'fashion', 'brand', 'gamis', 'hijab', 'couple', 'wanita', '.id', '_id',
        'cloth', 'precious', 'models', 'bayi', 'syari', 'modern', 'sandal',
        'jakarta', 'tangerang', 'official', 'wear', 'tidur', 'batam', 'cantik',
        'muslimah', 'online', 'gaya', 'sale', 'import', 'bandung', 'bekas',
        'cowok', 'modis', 'tee', 'bag', 'sport', '.com', 'dotcom', 'cewek',
        'shoes', 'vans', 'converse', 'cewe', 'futsal', 'kripik', 'taichan',
        'martabak', 'style', 'tasty', 'obral', 'aksesoris', 'handmade',
        'indonesia', 'indo', 'beauty', 'collection', 'olshp', 'stuff', 'agen',
        'boutique', 'nyonya', 'besar', 'holic', 'dompet', 'mangga', 'niqab',
        'pesta', 'party', 'ransel', 'naked', 'istana', 'boutiq', 'semua',
        'paket', 'mitra', 'jaket', 'suplier', 'supplier', 'sweater', 'hoodie',
        'sentra', 'celana', 'jeans', 'anak', 'street', 'kamera', 'camera',
        'snack', 'seks', 'kuat', 'obat', 'kios', 'pomade', 'lingerie', 'bibit',
        'kefir', 'vespa', 'spinner', 'cheap', 'daily', 'pekalongan', 'vape',
        'bokep', 'legend', 'macbeth', 'sosial', 'media', 'vapor', 'warung',
        'apple', 'planet', 'gadget', 'kucing', 'surabaya', 'follower', 'pusat',
        'preloved', 'cloud', 'corner', 'hotplate', 'sneaker', 'lelaki',
        'kebaya', 'kaos', 'oblong', 'polos', 'india', 'minimalis', 'crispy',
        'cute', 'kurma', 'second', 'wallpaper', 'roemah', 'case', 'softlens',
        'game', 'gaun', 'ship', 'beauties'
    ])
Esempio n. 5
0
)

bot = InstaBot(
    login=config[usrconfig]["username"],
    password=config[usrconfig]["password"],
    like_per_day=int(config[usrconfig]["like_per_day"]),
    comments_per_day=int(config[usrconfig]["comments_per_day"]),
    tag_list=json.loads(config[usrconfig]["tag_list"]),
    tag_blacklist=json.loads(config[usrconfig]["tag_blacklist"]),
    user_blacklist={},
    max_like_for_one_tag=int(config[usrconfig]["max_like_for_one_tag"]),
    follow_per_day=int(config[usrconfig]["follow_per_day"]),
    follow_time=int(config[usrconfig]["follow_time"]),
    unfollow_per_day=int(config[usrconfig]["unfollow_per_day"]),
    unfollow_break_min=int(config[usrconfig]["unfollow_break_min"]),
    unfollow_break_max=int(config[usrconfig]["unfollow_break_max"]),
    log_mod=int(config[usrconfig]["log_mod"]),
    proxy=config[usrconfig]["proxy"],
    # List of list of words, each of which will be used to generate comment
    # For example: "This shot feels wow!"
    comment_list=json.loads(config[usrconfig]["comment_list"]),
    # Use unwanted_username_list to block usernames containing a string
    # Will do partial matches; i.e. 'mozart' will block 'legend_mozart'
    # 'free_followers' will be blocked because it contains 'free'
    unwanted_username_list=json.loads(
        config[usrconfig]["unwanted_username_list"]),
    unfollow_whitelist=json.loads(config[usrconfig]["unfollow_whitelist"]),
    database_name=f"{usrconfig}.db",
    session_file=f"{usrconfig}.session",
)

while True:
Esempio n. 6
0
bot = InstaBot(
    login="******",
    password="******",
    like_per_day=15000,
    comments_per_day=0,
    
	tag_list=tagss,
    user_blacklist={},
    max_like_for_one_tag=100,
    follow_per_day=10000,
    follow_time=1 *1,
    unfollow_per_day=900,
    unfollow_break_min=15,
    unfollow_break_max=30,
    log_mod=0,
    proxy='',
    # List of list of words, each of which will be used to generate comment
    # For example: "This shot feels wow!"
    comment_list=[["this", "the", "your"],
                  ["photo", "picture", "pic", "shot", "snapshot"],
                  ["is", "looks", "feels", "is really"],
                  ["great", "super", "good", "very good", "good", "wow",
                   "WOW", "cool", "GREAT","magnificent", "magical",
                   "very cool", "stylish", "so beautiful",
                   "so stylish", "so professional", "lovely",
                   "so lovely", "very lovely", "glorious","so glorious",
                   "very glorious", "adorable", "excellent", "amazing"],
                  [".", "..", "...", "!", "!!", "!!!"]],
    # Use unwanted_username_list to block usernames containing a string
    ## Will do partial matches; i.e. 'mozart' will block 'legend_mozart'
    ### 'free_followers' will be blocked because it contains 'free'
    unwanted_username_list=[
        'second', 'stuff', 'art', 'project', 'love', 'life', 'food', 'blog',
        'free', 'keren', 'photo', 'graphy', 'indo', 'travel', 'art', 'shop',
        'store', 'sex', 'toko', 'jual', 'online', 'murah', 'jam', 'kaos',
        'case', 'baju', 'fashion', 'corp', 'tas', 'butik', 'grosir', 'karpet',
        'sosis', 'salon', 'skin', 'care', 'cloth', 'tech', 'rental', 'kamera',
        'beauty', 'express', 'kredit', 'collection', 'impor', 'preloved',
        'follow', 'follower', 'gain', '.id', '_id', 'bags'
    ],
    unfollow_whitelist=['example_user_1', 'example_user_2'])
Esempio n. 7
0
def bot_fct():

    # create the log print window within frame
    terminalembed()

    username_field = username.get()
    password_field = password.get()
    likes_field = likes.get()
    follows_field = follows.get()
    unfollows_field = unfollows.get()
    tag_field = tag.get()

    bot = InstaBot(login=username_field,
                   password=password_field,
                   like_per_day=likes_field,
                   comments_per_day=0,
                   tag_list=[tag_field],
                   tag_blacklist=[],
                   user_blacklist={},
                   max_like_for_one_tag=25,
                   follow_per_day=follows_field,
                   follow_time=1*10,
                   unfollow_per_day=unfollows_field,
                   unfollow_break_min=45,
                   unfollow_break_max=60,
                   log_mod=0,
                   proxy='',
                   unwanted_username_list=['string1'],
                   unfollow_whitelist=['string1']
                   )

    while True:

        #print("# MODE 0 = ORIGINAL MODE BY LEVPASHA")
        #print("## MODE 1 = MODIFIED MODE BY KEMONG")
        #print("### MODE 2 = ORIGINAL MODE + UNFOLLOW WHO DON'T FOLLOW BACK")
        #print("#### MODE 3 = MODIFIED MODE : UNFOLLOW PEOPLE WHO DON'T FOLLOW BACK BASED ON RECENT FEED ONLY")
        #print("##### MODE 4 = MODIFIED MODE : FOLLOW PEOPLE BASED ON RECENT FEED ONLY")
        #print("###### MODE 5 = MODIFIED MODE : JUST UNFOLLOW EVERYBODY, EITHER YOUR FOLLOWER OR NOT")

        # DON'T USE MODE 5 FOR A LONG PERIOD. YOU RISK YOUR ACCOUNT FROM GETTING BANNED
        ## USE MODE 5 IN BURST MODE, USE IT TO UNFOLLOW PEOPLE AS MANY AS YOU WANT IN SHORT TIME PERIOD
        mode = 0

        if mode == 0 :
            bot.new_auto_mod()
        elif mode == 1 :
            check_status(bot)
            while bot.self_following - bot.self_follower > 200:
                unfollow_protocol(bot)
                time.sleep(10*60)
                check_status(bot)
            while bot.self_following - bot.self_follower < 400:
                while len(bot.user_info_list) <50 :
                    feed_scanner(bot)
                    time.sleep(5*60)
                    follow_protocol(bot)
                    time.sleep(10*60)
                    check_status(bot)
        elif mode == 2 :
            bot.bot_mode = 1
            bot.new_auto_mod()
        elif mode == 3 :
            unfollow_protocol(bot)
            time.sleep(10*60)
        elif mode == 4 :
            feed_scanner(bot)
            time.sleep(60)
            follow_protocol(bot)
            time.sleep(10*60)
        elif mode == 5 :
            bot.bot_mode=2
            unfollow_protocol(bot)
        else :
            print ("Wrong mode!")
Esempio n. 8
0
# TOTAL TAGS 30
bot = InstaBot(
    login="******",
    password="******",
    like_per_day=180,
    media_max_like=15,
    media_min_like=15,
    tag_list=[
        'Photograph', 'Photographer', 'Vsco', 'Vscocam', 'Photographers_tr',
        'Photographie', 'Landscape_captures', 'Photographers @TopLikeTags',
        'Photographysouls', 'All_shots', 'Portrait', 'Vscocamphotos',
        'Likesforlikes', 'Photographs', 'Beautiful', 'Photographylovers',
        'TopLikeTags', 'Nature', 'TLTer', 'Outdoorphotography', 'Foto',
        'TopLikeTagsPhotography', 'Pictureoftheday', 'Likesreturned',
        'Silhouette', 'Picoftheday', 'Likeforlike', 'Art', 'Contrast',
        'Landscape'
    ],
    max_like_for_one_tag=30,
    log_mod=0,
    proxy='',
    unwanted_username_list=[
        'second', 'stuff', 'art', 'project', 'love', 'life', 'food', 'blog',
        'free', 'keren', 'photo', 'graphy', 'indo', 'travel', 'art', 'shop',
        'store', 'sex', 'toko', 'jual', 'online', 'murah', 'jam', 'kaos',
        'case', 'baju', 'fashion', 'corp', 'tas', 'butik', 'grosir', 'karpet',
        'sosis', 'salon', 'skin', 'care', 'cloth', 'tech', 'rental', 'kamera',
        'beauty', 'express', 'kredit', 'collection', 'impor', 'preloved',
        'follow', 'follower', 'gain', '.id', '_id', 'bags'
    ],
)
while True:
Esempio n. 9
0
bot = InstaBot(
    login=username,
    password=password,
    like_per_day=800,
    comments_per_day=0,
    tag_list=[
        'follow4follow', 'f4f', 'followme', 'cute', 'fujifilm', 'terfujilah',
        'kavlingfujifilm', 'fujifilmid', 'instagood', 'agameoftones',
        'ig_masterpiece', 'ig_exquisite', 'ig_shotz', 'global_hotshotz',
        'superhubs', 'main_vision', 'master_shots', 'exclusive_shots',
        'hubs_united', 'jaw_dropping_shotz', 'worldshotz', 'theworldshotz',
        'pixel_ig', 'photographyislifee', 'photographyislife',
        'photographysouls', 'photographyeveryday', 'photographylover',
        'worldbestgram', 'iglobal_photographers', 'ig_great_pics', 'ig_myshot',
        'shotwithlove', 'justgoshoot', 'xposuremag', 'icatching',
        'collectivelycreate', 'wanderlust', 'heatercentral', 'highsnobiety',
        'shotzdelight'
    ],
    tag_blacklist=['rain', 'thunderstorm'],
    user_blacklist={},
    max_like_for_one_tag=50,
    follow_per_day=300,
    follow_time=6 * 60 * 60,  # 6 hours
    unfollow_per_day=300,
    unfollow_break_min=15,
    unfollow_break_max=30,
    log_mod=1,
    proxy='',
    # List of list of words, each of which will be used to generate comment
    # For example: "This shot feels wow!"
    comment_list=[["this", "the", "your"],
                  ["photo", "picture", "pic", "shot", "snapshot"],
                  ["is", "looks", "feels", "is really"],
                  [
                      "great", "super", "good", "very good", "good", "wow",
                      "WOW", "cool", "GREAT", "magnificent", "magical",
                      "very cool", "stylish", "beautiful", "so beautiful",
                      "so stylish", "so professional", "lovely", "so lovely",
                      "very lovely", "glorious", "so glorious",
                      "very glorious", "adorable", "excellent", "amazing"
                  ], [".", "..", "...", "!", "!!", "!!!"]],
    # Use unwanted_username_list to block usernames containing a string
    ## Will do partial matches; i.e. 'mozart' will block 'legend_mozart'
    ### 'free_followers' will be blocked because it contains 'free'
    unwanted_username_list=[
        'second', 'stuff', 'art', 'project', 'love', 'life', 'food', 'blog',
        'free', 'keren', 'photo', 'graphy', 'indo', 'travel', 'art', 'shop',
        'store', 'sex', 'toko', 'jual', 'online', 'murah', 'jam', 'kaos',
        'case', 'baju', 'fashion', 'corp', 'tas', 'butik', 'grosir', 'karpet',
        'sosis', 'salon', 'skin', 'care', 'cloth', 'tech', 'rental', 'kamera',
        'beauty', 'express', 'kredit', 'collection', 'impor', 'preloved',
        'follow', 'follower', 'gain', '.id', '_id', 'bags'
    ],
    unfollow_whitelist=['example_user_1', 'example_user_2'])