/** * Добавление новых пользователей в базу с приветствием в чате * * @return array */ public function getCheckUsers() { $t = microtime(1); $users = GitterUser::orderBy('username')->lists('id'); $newUsers = array(); foreach ($this->gitter->users() as $user) { if (!in_array($user['id'], $users)) { // Добавляем в массив чтобы потом поприветствовать $newUsers[] = $user; // Добавляем в базу GitterUser::create($user); } } $response = array(); $message = 'Приветствуем Вас, @%s, в нашем дружном чате'; foreach ($newUsers as $user) { $response[] = $this->gitter->sendMessage(GitterMessage::newInstance(sprintf($message, $user['username']))->isStatus()); } return ['users' => $newUsers, 'response' => $response, 'timestamp' => time(), 'timeout' => round((microtime(1) - $t) * 1000)]; }
/** * Execute the console command. * * @return mixed */ public function fire() { /** @var \Laravelrus\Gitter\Gitter $gitter */ $gitter = $this->laravel->make('gitter'); $users = GitterUser::orderBy('username')->lists('id'); $newUsers = array(); foreach ($gitter->users() as $user) { if (!in_array($user['id'], $users)) { // Добавляем в массив чтобы потом поприветствовать $newUsers[] = $user; // Добавляем в базу GitterUser::create($user); } } $message = $this->laravel['config']->get('gitter::config.welcome_message'); foreach ($newUsers as $user) { $gitter->sendMessage(GitterMessage::newInstance(sprintf($message, $user['username']))->isStatus()); } $this->info(sprintf('New Users: %d', count($newUsers))); }