Fetch all direct (private) messages
public fetchDirectMessages ( integer $sinceId ) : array | Illuminate\View\View | ||
$sinceId | integer | |
return | array | Illuminate\View\View |
/** * Gets all direct (private) messages on Twitter * @return void */ public function collectDirectMessages() { $sinceId = latestDirect(); $directs = $this->twitterContent->fetchDirectMessages($sinceId); foreach ($directs as $key => $direct) { $date = changeDateFormat($direct['created_at']); $message = new Message(); if ($this->contact->where('twitter_id', $direct['sender']['id_str'])->exists()) { $contact = $this->contact->where('twitter_id', $direct['sender']['id_str'])->first(); if (count($contact->cases)) { $case = $contact->cases()->where('origin', 'Twitter direct')->orderBy('id', 'DESC')->first(); } else { $case = $this->case->createCase('twitter_direct', $direct, $contact); } $message->case_id = $case->id; $this->case->openCase($case); } else { $contact = $this->contact->createContact('twitter_direct', $direct); $case = $this->case->createCase('twitter_direct', $direct, $contact); $message->case_id = $case->id; } $message->contact_id = $contact->id; $message->direct_id = $direct['id_str']; $message->message = filterUrl($direct['text']); $message->post_date = $date; $message->save(); $this->media->handleMedia($message->id, $direct, 'twitter'); $this->updateCase($case->id, 'twitter', $direct['id_str']); } }