public function handle() { $token = Seat::get('slack_token'); if ($token == null) { throw new SlackSettingException("missing slack_token in settings"); } // get members list from slack team $api = new SlackApi($token); $members = $api->members(); // iterate over each member, check if the user mail match with a seat account and update the relation table foreach ($members as $m) { if ($m['id'] != 'USLACKBOT' && $m['deleted'] == false && $m['is_bot'] == false && !key_exists('api_app_id', $m['profile'])) { $user = User::where('email', '=', $m['profile']['email'])->first(); if ($user != null) { $slackUser = SlackUser::find($user->id); if ($slackUser == null) { $slackUser = new SlackUser(); $slackUser->user_id = $user->id; $slackUser->invited = true; } $slackUser->slack_id = $m['id']; $slackUser->save(); } } } }