class Instabot

main core class

Attributes

media_information[RW]
medias[RW]
user_information[RW]
users[RW]

Public Class Methods

new(mode = :default) click to toggle source
# File lib/instabot/core.rb, line 25
def initialize(mode = :default)
    @login_mode                 = mode 
    @users                      = []
    @medias                     = []
    @log_counter                = 0
    @login_counter              = 1
    @login_status               = false
    @lib_dir                    = "#{Dir.pwd}/lib"
    @root_dir                   = Dir.pwd.to_s
    @logs_dir                   = "#@root_dir/logs"
    @started_time               = Time.new.strftime('%H-%M-%S--%y-%m-%d')
    @errors_iteration           = 0
    # auto increments
    @follows_auto_increment     = 0
    @unfollows_auto_increment   = 0
    @likes_auto_increment       = 0
    @comments_auto_increment    = 0

    Configuration.new if @login_mode == :manual

    @local_stroage = {
        followed_users:   [],
        unfollowed_users: [],
        liked_medias:     [],
        unliked_medias:   [],
        commented_medias: []
    }

    @maximums = {
        follows_in_day:        0,
        unfollows_in_day:      0,
        likes_in_day:          0,
        comments_in_day:       0,
        max_follows_per_day:   options[:max_follow_per_day],
        max_unfollows_per_day: options[:max_unfollow_per_day],
        max_likes_per_day:     options[:max_like_per_day],
        max_comments_per_day:  options[:max_comment_per_day]
    }

    intro(mode)
end

Public Instance Methods

intro(mode) click to toggle source
# File lib/instabot/core.rb, line 100
def intro(mode)
    trap('INT') { exit! }
    print_banner
    check_log_files
    log('log files are checked', 'CORE')
    log('Machine started', 'CORE')
    create_protocol
    puts '[+] '.cyan + 'Processing successfully completed'
    log('Processing successfully completed', 'CORE')
    unless mode != :default
        login
    end
end
options() click to toggle source

will return Config.options

# File lib/instabot/core.rb, line 68
def options
    if @login_mode == :default
        {
            comments:             Config.options.comments,
            max_comment_per_day:  Config.options.max_comment_per_day,
            max_follow_per_day:   Config.options.max_follow_per_day,
            max_like_per_day:     Config.options.max_like_per_day,
            max_unfollow_per_day: Config.options.max_unfollow_per_day,
            username:             Config.options.username,
            password:             Config.options.password,
            pre_load:             Config.options.pre_load,
            print_banner:         Config.options.print_banner,
            proxy:                Config.options.proxy,
            tags:                 Config.options.tags,
            use_proxy:            Config.options.use_proxy,
            use_tor:              Config.options.use_tor,
            wait_per_action:      Config.options.wait_per_action,
            log_status:           Config.options.log_status,
            add_tag_per_post:     Config.options.add_tag_per_post,
            unwanted_list:        Config.options.unwanted_list,
            white_list_users:     Config.options.white_list_users,
        }
    else
        {
            max_comment_per_day:  :infinite,
            max_follow_per_day:   :infinite,
            max_like_per_day:     :infinite,
            max_unfollow_per_day: :infinite
        }
    end
end