private function getTelegramUser($message) { $from = $message['from']; $telegramId = $from['id']; $telegramName = $from['first_name']; if (array_key_exists('last_name', $from)) { $telegramName .= ' ' . $from['last_name']; } if (array_key_exists('username', $from)) { $username = $from['username']; } try { $tg = TelegramUser::findByTelegramId($telegramId); } catch (ModelNotFoundException $e) { $tg = TelegramUser::firstOrNew(array('telegram_id' => $telegramId)); } $tg->name = $telegramName; if (isset($username)) { $tg->username = $username; } $tg->save(); return $tg; }