| 
<?php
 date_default_timezone_set('Africa/Lagos');
 
 require_once __DIR__  . '/./vendor/autoload.php';
 
 use Instagram\Storage\CacheManager;
 use Instagram\Api;
 use Dotenv\Dotenv;
 use IgFeedNotification\CheckPost;
 use IgFeedNotification\SendMail;
 
 @mkdir('./ig_cache');
 
 $cache = new CacheManager('./ig_cache');
 
 $userNamesInstruction = [
 'user_name1' => 'Give him 10k Likes',
 'user_name2' => 'Give 10 comments',
 ];
 
 foreach ($userNamesInstruction as $userName => $instruction) {
 $api   = new Api($cache);
 
 $api->setUserName($userName);
 
 $dotenv = new Dotenv(__DIR__);
 $dotenv->load();
 
 $checkPost = new CheckPost();
 
 try {
 // First page
 
 /** @var \Instagram\Hydrator\Component\Feed $feed */
 $feed = $api->getFeed();
 
 echo '============================' . "<br/>";
 
 echo 'User Informations : ' . "<br/>";
 echo '============================' . "<br/><br/>";
 
 echo 'ID        : ' . $feed->getId() . "<br/>";
 echo 'Full Name : ' . $feed->getFullName() . "<br/>";
 echo 'UserName  : ' . $feed->getUserName() . "<br/>";
 echo 'Following : ' . $feed->getFollowing() . "<br/>";
 echo 'Followers : ' . $feed->getFollowers() . "<br/><br/>";
 
 echo '============================' . "<br/>";
 echo 'Medias first page : ' . "<br/>";
 echo '============================' . "<br/><br/>";
 
 $msg = '';
 
 /** @var \Instagram\Hydrator\Component\Media $media */
 foreach ($feed->getMedias() as $media) {
 $msg .= 'User Name : ' . $feed->getUserName() . "<br/>";
 $msg .= 'Caption   : ' . $media->getCaption() . "<br/>";
 $msg .= 'Link      : ' . $media->getLink() . "<br/>";
 $msg .= 'Instructions: ' . $instruction . "<br/>";
 $msg .= '============================' . "<br/>";
 echo $msg;
 
 $postId = explode('/', $media->getLink());
 
 if (!$checkPost->postIsExisted($postId[4])) {
 SendMail::sendMail($msg, $media, $feed->getUserName());
 $checkPost->insertPostId($postId[4]);
 }
 
 break;
 }
 
 $msg = wordwrap($msg, 70);
 
 // Second Page
 
 $api->setEndCursor($feed->getEndCursor());
 
 sleep(1); // avoir 429 Rate limit from Instagram
 
 $feed = $api->getFeed();
 
 echo "<br/><br/>";
 echo '============================' . "<br/>";
 echo 'Medias second page : ' . "<br/>";
 echo '============================' . "<br/><br/>";
 
 /** @var \Instagram\Hydrator\Component\Media $media */
 foreach ($feed->getMedias() as $media) {
 echo 'ID        : ' . $media->getId() . "<br/>";
 echo 'Caption   : ' . $media->getCaption() . "<br/>";
 echo 'Link      : ' . $media->getLink() . "<br/>";
 echo 'Instructions: ' . $instruction . "<br/>";
 echo '============================' . "<br/>";
 }
 
 // And etc...
 
 } catch (\Instagram\Exception\InstagramException $exception) {
 var_dump($exception->getMessage());
 }
 }
 
 |