Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;
     }
 }