Esempio n. 1
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $now = Carbon::now();
     $profiles = [];
     foreach (Profile::get() as $profile) {
         $profiles[$profile->handle] = $profile->id;
     }
     $result = Twitter::getListMembers(["list_id" => "221897255", "count" => "5000"]);
     $addNewProfiles = false;
     $newprofiles = [];
     foreach ($result->users as $member) {
         if ($member->verified) {
             $screen_name = strtolower($member->screen_name);
             $image = $member->profile_image_url;
             if (!array_key_exists("@" . $screen_name, $profiles)) {
                 $addNewProfiles = true;
                 echo "adding " . $screen_name . " - ";
                 $newprofiles[] = array('name' => $member->name, 'handle' => $screen_name, 'image' => $image, 'current_price' => 0, 'created_at' => $now, 'updated_at' => $now);
             }
         }
     }
     if ($addNewProfiles) {
         //insert new profiles and reload array
         Profile::insert($newprofiles);
         $profiles = [];
         foreach (Profile::get() as $profile) {
             $profiles[$profile->handle] = $profile->id;
         }
     }
     $followerCounts = [];
     $tweetCounts = [];
     foreach ($result->users as $member) {
         $screen_name = strtolower($member->screen_name);
         if (array_key_exists("@" . $screen_name, $profiles)) {
             $profileId = $profiles["@" . $screen_name];
             $followerCounts[] = array('profile_id' => $profileId, 'count' => $member->followers_count, 'created_at' => $now, 'updated_at' => $now);
             $tweetCounts[] = array('profile_id' => $profileId, 'count' => $member->statuses_count, 'created_at' => $now, 'updated_at' => $now);
         }
     }
     FollowerCount::insert($followerCounts);
     TweetCount::insert($tweetCounts);
 }