private function clasificacion($endpoint, $request) { $response_chat_typing = Response::create_typing_response($endpoint, $request->get_chat_id()); $response_chat_typing->send(); $text = '*Clasificación de la última fase en curso:*' . PHP_EOL . PHP_EOL; $urlApi = Utils::get_url_api($request); $json = file_get_contents($urlApi . 'clasificacion'); $obj = json_decode($json); $emoji_down = Utils::convert_emoji(0x2b06); $emoji_up = Utils::convert_emoji(0x2b07); foreach ($obj as $valor) { /**TODO Adaptar esto para todas las rondas de clasificación*/ if ((int) $valor->pos > 8) { $text = $text . '*' . $valor->pos . '*.- ' . $valor->nombre . ': ' . $valor->neto . '€ ' . $emoji_up . PHP_EOL; } else { $text = $text . '*' . $valor->pos . '*.- ' . $valor->nombre . ': ' . $valor->neto . '€' . PHP_EOL; } } $response = new Response($endpoint, $request->get_chat_id(), Response::TYPE_TEXT); $response->text = $text; $response->markdown = true; return $response; }
private function clasificacionJornada($endpoint, $request, $urlApi) { $this->log->debug("Obteniedo clasificacion de jornada"); $time = microtime(true); $response_chat_typing = Response::create_typing_response($endpoint, $request->get_chat_id()); $response_chat_typing->send(); $text = '*Clasificación de la última Jornada en curso:*' . PHP_EOL . PHP_EOL; //Se obtiene la fase actual $jsonFaseActual = Utils::callApi($request, 'util/faseActual', $urlApi); $faseActual = json_decode($jsonFaseActual); $url = 'clasificacionfasetipo/' . $faseActual->id . '/tipofase/' . $faseActual->tipo->id; //Se comprueba si es un chat privado, para obtener el token del usuario if ($request->is_private_chat()) { $jsonTokenUser = Utils::callApi($request, 'tokenusuario/' . $request->get_chat_id() . '?token=' . TOKEN_API_BOT, $urlApi); $tokenUsuario = json_decode($jsonTokenUser, true); //var_dump($tokenUsuario); //Si hay token de usuario del chat, se invoca el comando con el token // $objeto = $tokenUsuario[0]; if ($tokenUsuario[0]['token']) { $url .= '?token=' . $tokenUsuario[0]['token']; } } $json = Utils::callApi($request, $url, $urlApi); $obj = json_decode($json); if (sizeof($obj) > 0 && property_exists($obj[0], 'error')) { $response = new Response($endpoint, $request->get_chat_id(), Response::TYPE_TEXT); $response->text = $obj[0]->error->text; $response->markdown = true; return $response; } $emoji_down = Utils::convert_emoji(0x2b06); $emoji_up = Utils::convert_emoji(0x2b07); $emoji_balon = Utils::convert_emoji(0x26bd); $emoji_dinero = Utils::convert_emoji(0x1f4b0); $emoji_yield = Utils::convert_emoji(0x1f4a5); $i = 1; foreach ($obj as $valor) { $jugado = 0 + floatval($valor->jugado); $ganado = 0 + floatval($valor->ganancia); $yield = $ganado / $jugado * 100; $text = $text . '*' . $i . '.' . $valor->nombre . '*' . $emoji_dinero . number_format((double) $valor->ganancia, 2) . '€' . $emoji_yield . round($yield, 2) . '%' . $emoji_balon . $valor->num_partidos . PHP_EOL; $i++; } $response = new Response($endpoint, $request->get_chat_id(), Response::TYPE_TEXT); $response->text = $text; $response->markdown = true; $this->log->debug("Fin Obteniedo Clasificación fase y jornada (" . (microtime(true) - $time) . " s): "); return $response; }
static function quien_ha_perdido_mas($endpoint, $request, $urlApi) { switch ($request->get_from_id()) { case ID_AGE: case ID_TAPIA: case ID_NANO: case ID_YONI: case ID_CAS: case ID_JAVI: case ID_KETU: case ID_PACO: case ID_BARTOL: case ID_VICENTE: case ID_IBAN: $time = microtime(true); $response_chat_typing = Response::create_typing_response($endpoint, $request->get_chat_id()); $response_chat_typing->send(); //Se obtiene la fase actual $jsonFaseActual = Utils::callApi($request, 'util/faseActual', $urlApi); $faseActual = json_decode($jsonFaseActual); $url = 'clasificacion/' . $faseActual->id; //Se comprueba si es un chat privado, para obtener el token del usuario if ($request->is_private_chat()) { $jsonTokenUser = Utils::callApi($request, 'tokenusuario/' . $request->get_chat_id() . '?token=' . TOKEN_API_BOT, $urlApi); $tokenUsuario = json_decode($jsonTokenUser, true); //Si hay token de usuario del chat, se invoca el comando con el token if ($tokenUsuario[0]['token']) { $url = 'clasificacion/' . $faseActual->id . '?token=' . $tokenUsuario[0]['token']; } } $json = Utils::callApi($request, $url, $urlApi); $obj = json_decode($json); if (sizeof($obj) > 0 && property_exists($obj[0], 'error')) { $response = new Response($endpoint, $request->get_chat_id(), Response::TYPE_TEXT); $response->text = $obj[0]->error->text; $response->markdown = true; return $response; } $jsonTokenUser = Utils::callApi($request, 'tokenusuario/' . $request->get_chat_id() . '?token=' . TOKEN_API_BOT, $urlApi); $tokenUsuario = json_decode($jsonTokenUser, true); $nombreUsuario = ''; if ($tokenUsuario[0]['nombre']) { $nombreUsuario = $tokenUsuario[0]['nombre']; } $i = 1; $ganadoUsuario = 0; $ganadoCocacolas = 0; foreach ($obj as $valor) { if ($valor->nombre == 'Rio') { $ganadoCocacolas = floatval($valor->ganancia); } else { if ($valor->nombre == $nombreUsuario) { $ganadoUsuario = floatval($valor->ganancia); } } $i++; } if ($ganadoCocacolas > $ganadoUsuario) { return 1; } elseif ($ganadoCocacolas < $ganadoUsuario) { return 0; } elseif ($ganadoCocacolas == $ganadoUsuario) { return 5; } break; case ID_RIOJANO: return 2; default: return 4; } }