afegir\n ". " b -> esborrar tot\n ". " d -> darrera publicació\n ". " e -> eliminar duplicats\n ". " n -> triar un numero de registre\n ". " r -> repassar registres.\n"; // presenta_ajuda(); exit; } } } else { // Presenta l'ajuda //$opcio = getopt("i::hp::"); //print_r($opcio); presenta_ajuda(); exit; } //defineix on es troba el fitxer a executar $lloc = realpath(dirname(__FILE__)); include("configuracio/bot_plus_cfg.php"); include("utils/bot_plus_funcions.php"); if ($argument == "-imp") { $impuls = shell_exec("php utils/bot_plus_consultaimpulsos.php ".$lloc); echo $impuls."\n"; //$impuls_inst = shell_exec("php -f proves/proves_estadistiques_inst_impulsos_nopub.php ".$lloc); //echo $impuls_inst."\n"; } elseif ($argument == "-impj") { $impuls_json = shell_exec("php utils_cli/bot_plus_impulsos_json_cli.php ".$lloc); echo $impuls_json."\n"; // preguntar si vols volcar-ho al fitxer .txt echo "\nVols actualitzar el fitxer json dels impulsos amb les dades del fitxer txt? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HE ACABAT DONCS!\n"; goto memoria; exit; } fclose($handle); echo "\n"; echo "Gràcies, l'actualitze...\n"; $act_imps = shell_exec("php utils_cli/bot_plus_cli_impulsos_txtjson_cli_refer.php ".$lloc); echo $act_imps; } elseif ($argument == "-fitxs") { $data_pu = shell_exec("wc -l < fitxers/dates.txt"); $data_bc = shell_exec("wc -l < fitxers/dates.bak"); $urls_pu = shell_exec("wc -l < fitxers/urls_pub.txt"); $urls_bc = shell_exec("wc -l < fitxers/urls_pub.bak"); $imps_ri = shell_exec("wc -l < fitxers/impulsos.txt"); $imps_rb = shell_exec("wc -l < fitxers/impulsos.bak"); //$imps_rgm = exec("wc -l fitxers/impulsos.txt", $eix_irgm, $resp_irgm); $menc_ax = shell_exec("wc -l < fitxers/mencions.txt"); $menc_ab = shell_exec("wc -l < fitxers/mencions.bak"); $menc_rm = shell_exec("wc -l < fitxers/mencions_r.txt"); $menc_rb = shell_exec("wc -l < fitxers/mencions_r.bak"); //$menc_jm = shell_exec("wc -l < fitxers/mencions.json"); //$menc_em = shell_exec("wc -l < fitxers/mencions_em.json"); $fitxer = "fitxers/mencions.json"; $json_dec = json_decode(file_get_contents($fitxer), true); $menc_jm = count($json_dec); $fitxer1 = "fitxers/mencions_em.json"; $json_dec1 = json_decode(file_get_contents($fitxer1), true); $menc_em = count($json_dec1); $fitxer2 = "fitxers/impulsos.json"; $json_dec2 = json_decode(file_get_contents($fitxer2), true); $imps_js = count($json_dec2); echo "LINIES DELS FITXERS \n"; echo trim($data_pu)." linies al fitxer de dates. \t\t\t".(($data_pu == $data_bc)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m")."\n"; echo trim($data_bc)." linies al fitxer de seguretat de les dates. \n"; echo trim($urls_pu)." linies al fitxer de url. \t\t\t".(($urls_pu == $urls_bc)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m")."\n"; echo trim($urls_bc)." linies al fitxer de seguretat de les url.\n"; echo trim($menc_ax)." linies al fitxer de les mencions.\t\t ".(($menc_ax == $menc_ab)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m")."\n"; echo trim($menc_ab)." linies al fitxer de seguretat de les mencions.\n"; echo trim($menc_rm)." linies al fitxer de registre de les mencions. ".(($menc_rm == $menc_rb)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m")."\n"; echo trim($menc_rb)." linies al fitxer de seguretat del registre de les mencions.\n"; echo trim($menc_jm)." registres al fitxer json de les mencions.\n"; echo trim($menc_em)." registres al fitxer json de les emocions.\n"; echo trim($imps_ri)." linies al fitxer dels impulsos. \t\t".(($imps_ri == $imps_rb)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m") ."\n"; echo trim($imps_rb)." linies al fitxer de seguretat dels impulsos. \n"; echo trim($imps_js)." registres al fitxer json dels impulsos.\t ".((($imps_ri == $imps_rb)&&($imps_rb == $imps_js))?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!!\e[0m")."\n"; /** echo "matriu\n"; $imps_rgm = explode(" ",$imps_rg); print_r($imps_rgm); echo $imps_rgm[0]; **/ } elseif ($argument == "-mencs") { //include("proves/proves_mencions_json.php"); //$mencions = shell_exec("php ".$lloc."/proves/proves_mencions_json_cli.php ".$lloc); $mencions = exec("php ".$lloc."/utils_cli/bot_plus_cli_mencions_json_cli.php ".$lloc, $eix_mencs, $resp_mencs); //echo $mencions."\n"; foreach ($eix_mencs as $clau => $valor) { // echo $det_segs; echo $valor."\n"; usleep(400000); } // preguntar si vols volcar-ho al fitxer .txt echo "\nVols actualitzar el fitxer de les mencions? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HE ACABAT DONCS!\n"; goto memoria; // exit; } fclose($handle); echo "\n"; echo "Gràcies, els actualitze...\n"; $act_mencs = shell_exec("php utils_cli/bot_plus_cli_mencions_json_cli_refer.php ".$lloc); echo $act_mencs; // bolcat a fitxer .txt echo "\nActualització feta.\n"; $menc_reg = shell_exec("wc -l fitxers/mencions.txt"); echo "El fitxer té ara ".$menc_reg.""; goto memoria; } elseif ($argument == "-emoci") { //$mencs_em = shell_exec("php proves/proves_mencions_em_json_cli.php ".$lloc." 1"); //echo $mencs_em; $mencs_em = exec("php utils_cli/bot_plus_cli_mencions_em_json_cli.php ".$lloc." 1", $eix_em,$resp_em); foreach ($eix_em as $clau => $valor) { echo $valor."\n"; usleep(200000); } // preguntar si vols volcar-ho al fitxer .txt echo "\nVols actualitzar el fitxer de les emocions? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HE ACABAT DONCS!\n"; goto memoria; // exit; } fclose($handle); echo "\n"; echo "Gràcies, l'actualitze...\n"; $act_emjson = shell_exec("php utils_cli/bot_plus_cli_mencions_em_json_cli.php ".$lloc." 0"); echo $act_emjson; } elseif ($argument == "-info") { //include("proves/proves_mencions_json.php"); echo "\e[1mINFORME \e[0m ".$bot_nom." ".$bot_versio." - ".date('d/m/Y H:i:s',strtotime('now'))."\n"; //echo "La versió actual és la ".$bot_versio."\n"; $n_pub = shell_exec("cat ".$lloc."/fitxers/compte_pub.txt"); $n_pub = shell_exec("cat ".$lloc."/fitxers/compte_pub.txt"); $s_pub = shell_exec("cat ".$lloc."/fitxers/compte_setm.txt"); $tuts_setm = ($n_pub - $s_pub); $fit_imp = $lloc."/fitxers/impulsos_temps.txt"; echo "N'he publicat un total de ".$n_pub." tuts, ".$tuts_setm." des del ".date("d/m/Y",(filemtime($fit_imp)))." a les ".date("H:i:s",(filemtime($fit_imp))).".\n"; $d_pub = shell_exec("cat ".$lloc."/fitxers/data_pub.txt"); echo "La darrera publicació l'he feta el ".date("d/m/Y",$d_pub)." a les ".date("H:i:s",$d_pub)."\n"; $comentari_anterior = $lloc."/fitxers/comentari_pub.txt"; echo "El darrer comentari automàtic l'he publicat a ".date('d/m/Y H:i:s',filemtime(($comentari_anterior)))."\n"; $fitxer = $lloc."/fitxers/compte_vis.txt"; echo "La darrera connexió l'he fet a ".date("d/m/Y H:i:s",(filemtime($fitxer)))."\n"; echo "Els fixers estan a ".$lloc."\n"; $data_pu = shell_exec("wc -l < fitxers/dates.txt"); $data_bc = shell_exec("wc -l < fitxers/dates.bak"); $urls_pu = shell_exec("wc -l < fitxers/urls_pub.txt"); $urls_bc = shell_exec("wc -l < fitxers/urls_pub.bak"); $imps_rg = shell_exec("wc -l < fitxers/impulsos.txt"); $menc_rg = shell_exec("wc -l < fitxers/mencions_r.txt"); $menc_ax = shell_exec("wc -l < fitxers/mencions.txt"); $menc_bk = shell_exec("wc -l < fitxers/mencions.bak"); echo "\e[1mLINIES DELS FITXERS \e[0m (més detalls amb la opció -fitxs) \n"; echo trim($data_pu)." linies al fitxer de dates. ".(($data_pu == $data_bc)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!! ".trim($data_bc)." al de seguretat\e[0m")."\n"; //echo trim($data_bc)." linies al fitxer de seguretat de les dates.\n"; echo trim($urls_pu)." linies al fitxer de urls. ".(($urls_pu == $urls_bc)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!! ".trim($urls_bc)." al de seguretat\e[0m")."\n"; $fit_json = $lloc."/fitxers/registre.json"; $json_dec = json_decode(file_get_contents($fit_json), true); $reg_arx = count($json_dec); echo "Registre de publicacions en format json té ".$reg_arx." registres.\n"; //echo trim($urls_bc)." linies al fitxer de seguretat de les url.\n"; echo trim($menc_rg)." linies al registre txt de les mencions. ".(($menc_ax == $menc_bk)?"\t\e[92m[correcte]\e[0m":"\t\e[91mATENCIÓ!! ".trim($menc_bk)." al de seguretat\e[0m")."\n"; //echo trim($menc_ax)." linies a l'arxiu de les mencions.\n"; $fitx_json2 = $lloc."/fitxers/mencions.json"; $json_deco = json_decode(file_get_contents($fitx_json2), true); $reg_arxs = count($json_deco); echo "Registre de mencions en format json té ".$reg_arxs." registres.\n"; $fitx_json3 = $lloc."/fitxers/mencions_em.json"; $json_decod = json_decode(file_get_contents($fitx_json3), true); if($json_decod<>null){ $reg_emos = count($json_decod); }else{ print "\e[91mEl fitxer json de les emocions està buit. Prova a restaurar-lo amb l'opció -emoci.\e[0m\n"; goto graficainfo; } echo "Registre de les emocions en format json té ".$reg_emos." registres. ".(($reg_emos == $reg_arxs)?"\t\e[92m[els dos json son iguals]\e[0m":"\t\e[91mATENCIÓ!! son diferents.\e[0m")."\n"; graficainfo: echo "\e[1mGRAFICS \e[0m \n"; $fitxer_g01 = $lloc."/grafic/grafic.png"; $fitxer_g02 = $lloc."/grafic/grafic_imp.png"; $fitxer_g03 = $lloc."/grafic/grafic_setm_imp.png"; $fitxer_g04 = $lloc."/grafic/grafic_setm_fav.png"; echo "El gràfic dels impulsos l'he fet el ".date("d/m/Y H:i:s",(filemtime($fitxer_g02)))."\n"; echo "Els gràfics dels reblocs pels dies de la setmana l'he fet el ".date("d/m/Y H:i:s",(filemtime($fitxer_g03)))."\n". "i el dels favorits el ".date("d/m/Y H:i:s",(filemtime($fitxer_g04)))."\n"; echo "El gràfic d'activitat dels seguidors l'he fet el ".date("d/m/Y H:i:s",(filemtime($fitxer_g01)))."\n"; //echo "Els gràfics son a ".$lloc."/grafic/\n\n"; echo "\e[1mESTADÍSTIQUES \e[0m (més detalls amb la opció -imp)\n"; $fit_imp = $lloc."/fitxers/impulsos.txt"; $espera_ob = fopen($lloc . "/fitxers/impulsos_temps.txt", "r") or die("No puc obrir la darrera data!"); $espera_ll = fread($espera_ob,filesize($lloc . "/fitxers/impulsos_temps.txt")); $espera_imp = $espera_ll; fclose($espera_ob); //echo "".$espera_imp." | ".date("r",($espera_imp))."\n"; //echo "La propera publicació d'estadístiques la faré el ".date("r",$espera_imp)."\n\n"; setlocale(LC_ALL, 'ca_ES.UTF-8'); //echo setlocale(LC_ALL, 'ca_ES'); //echo(strftime("%B %d %Y, %X %Z",$espera_imp)."
"); //echo "strfotime\n"; echo "Hi ha ".trim($imps_rg)." registres d'impulsos (favorits i reblocs).\n"; echo "Darrer registre: ".date("d/m/Y H:i:s",(filemtime($fit_imp)))."\n"; echo "Propera publicació: ".(strftime("%A %d/%m/%Y a les %H:%M:%S", $espera_imp))."\n"; //echo "La propera publicació d'estadístiques la faré el ".date("r",$espera_imp)."\n\n"; echo "\e[1mSEGUIDORS \e[0m (més dades amb -segs o -asegs)\n"; $seguid = shell_exec("cat fitxers/seg_cont.txt"); $seguidc = shell_exec("cat fitxers/cents_cont.txt"); $segs_f = $lloc."/fitxers/seg_cont.txt"; $segs_c = $lloc."/fitxers/cents_cont.txt"; echo "".$seguid." seguidors actualment ".(($seguid == $seguidc)?"i és el màxim que n'he tingut.":"i el màxim ha sigut de ".$seguidc." seguidors.")."\n"; echo "Màxim assolit el ".date("d/m/Y H:i:s",(filemtime($segs_c)))."\n"; echo "Darrer moviment: ".date("d/m/Y H:i:s",(filemtime($segs_f)))."\n"; //echo $seguidc. " és el máxim de seguidors. (cents) \n"; echo "\e[1mERRADES \e[0m \n"; $errada = shell_exec("cat ".$lloc."/fitxers/errada_cont.txt"); $errada_f = $lloc."/fitxers/errada_cont.txt"; $errada_mod = $errada -1; $fit_imp = $lloc."/fitxers/impulsos_temps.txt"; echo "En ".$errada_mod." ".(($errada_mod == 1)?"volta ":"voltes ")."no he pogut connectar per obtindre la font xml o RSS.\n"; echo "Inici del registre: ".date("d/m/Y H:i:s",(filemtime($fit_imp)))."\n"; echo "Darrer registre: ".date("d/m/Y H:i:s",(filemtime($errada_f)))."\n"; } elseif ($argument == "-graf") { // preguntar si vols crear els gràfics echo "\nNOMÉS EN CAS DE EXTREMA NECESSITAT\nHas de confirmar que vols generar els gràfics amb les dades que hi ha. (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HAS EVITAT UNA CATASTROFE PER AL BOT. GRÀCIES,\nJA HE ACABAT DONCS!\n"; goto memoria; // exit; } fclose($handle); echo "\n"; echo "Gràcies, els genere i la data de moficicació a -info serà errònia.\n"; $graf_est = shell_exec("/usr/bin/php -f ".$lloc."/utils/bot_plus_fergrafic.php ".$lloc."/"); $graf_imp = shell_exec("php ".$lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc."/"); $graf_setm = shell_exec("php ".$lloc."/utils/bot_plus_fergrafic_setm.php ".$lloc."/"); echo "Grafics creats el ".date('d/m/Y H:i:s',strtotime('now'))."\n"; goto memoria; } elseif ($argument == "-inst") { $inst_est = shell_exec("php utils_cli/bot_plus_cli_estadistiques_seguidors_nopub.php ".$lloc); echo $inst_est; // preguntar si vols volcar-ho al fitxer .txt echo "\nVols publicar el tut del repartiment d'instàncies? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HE ACABAT DONCS!\n"; goto memoria; // exit; } fclose($handle); echo "\n"; echo "Gràcies, el publique...\n"; $pub_inst = shell_exec("php utils/bot_plus_estadistiques_seguidors.php ".$lloc); echo $pub_inst; goto memoria; } elseif ($argument == "-regs") { if($opcio == "r") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." r ", $eix_reg, $resp_reg); //echo $pub_inst; $e = 0; foreach ($eix_reg as $clau => $valor) { // echo $det_segs; echo $valor."\n"; if(is_int($e/9)) { // usleep(280000); sleep(2); } $e++; } } elseif($opcio == "a") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." a ", $eix_reg, $resp_reg); echo $registres."\n"; } elseif($opcio == "b") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." b ", $eix_reg, $resp_reg); echo $registres."\n"; } elseif($opcio == "d") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." d ", $eix_reg, $resp_reg); echo implode("\n",$eix_reg)."\n"; // print_r($eix_reg); } elseif($opcio == "e") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." e ", $eix_reg, $resp_reg); echo implode("\n",$eix_reg)."\n"; // print_r($eix_reg); } elseif($opcio == "n") { $registres = exec("php utils_cli/bot_plus_cli_registre_json_cli.php ".$lloc." n ", $eix_reg, $resp_reg); echo implode("\n",$eix_reg)."\n"; // print_r($eix_reg); } else { echo "Has de indicar la opció:\n a -> afegir\n b -> esborrar tot\n r -> repassar registres.\n"; exit; } goto memoria; } elseif ($argument == "-urlsr") { $url_rec = shell_exec("php utils_cli/bot_plus_urls_json_cli_refer.php ".$lloc); echo $url_rec."\n"; goto memoria; } elseif ($argument == "-ctemps") { $dataconv = shell_exec("php utils/bot_plus_convdate.php ".$data); echo $dataconv."\n"; goto memoria; } elseif ($argument == "-vvars") { $matvars = get_defined_vars(); ksort($matvars); print_r($matvars); goto memoria; } elseif ($argument == "-segs") { $seguid = shell_exec("cat fitxers/seg_cont.txt"); $seguidd = shell_exec("wc -l fitxers/seguidors.txt"); $seguidc = shell_exec("cat fitxers/cents_cont.txt"); $seg_m = explode(" ",$seguidd); echo $seguid." seguidors actualment\n"; echo $seg_m[0]. " seguidors segons el fitxer de registre.\n"; echo $seguidc. " és el máxim de seguidors. (cents) \n"; if($seguid<>$seg_m[0]) { echo "Convé revisar els fitxers.\n"; } else { echo "Correcte.\n"; echo "\nVols revisar els seguidors un a un? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != "Si") ){ echo "HE ACABAT DONCS!\n"; goto memoria; // exit; } fclose($handle); echo "\n"; echo "Gràcies, els repassem...\n"; // $det_segs = shell_exec("php proves/bot_plus_seguidors_json.php ".$lloc); $det_segs = exec("php utils_cli/bot_plus_cli_seguidors_json.php ".$lloc, $eixida_segs, $resposta_segs); // print_r($eixida_segs); // $eixida_segs_cad = implode("\n",$eixida_segs); // echo $eixida_segs_cad; // $eixida_segs_m = explode("\n",$eixida_segs_cad); // print_r($eixida_segs_m); // for($l=0;$l<$seguid;$l++) { foreach ($eixida_segs as $clau => $valor) { // echo $det_segs; echo $valor."\n"; usleep(400000); } } goto memoria; /** echo "\nVols actualitzar els fitxers de seguidors? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != "Si") ){ echo "HE ACABAT DONCS!\n"; exit; } fclose($handle); echo "\n"; echo "Gràcies, els actualitze...\n"; // include("proves/proves_seguidors_json.php"); $act_segs = shell_exec("php utils/bot_plus_benvinguda.php ".$lloc); // for($l=0;$l<$seguid;$l++) { // echo $act_segs; **/ } elseif ($argument == "-asegs") { $act_segs = shell_exec("php utils_cli/bot_plus_activitat_seguidors_nopub.php ".$lloc." 0"); echo $act_segs."\n"; goto memoria; } elseif ($argument == "-ajuda"){ echo "Estes on les opcions disponibles de \n"; presenta_ajuda(); } else { echo "\nLA OPCIÓ ÉS INCORRECTA.\n\n"; presenta_ajuda(); goto memoria; //exit; } /** $opcions_curtes = "i::m::s::a::n::"; $opcions_llargues = ["impulsos::", "mencions::", "seguidors::", "activitat::", "instancia::" ]; $opcions = getopt($opcions_curtes, $opcions_llargues); if(isset($opcions["i"]) || isset($opcions["impulsos"])) { echo "he rebut la opció impulsos en versió "; if(isset($opcions["i"])) { echo "curta.\n"; } else { echo "llarga.\n"; } } **/ function presenta_ajuda() { echo "bot_plus_utils per bonobo <@bonobo@mastodont.cat>.\n\n"; echo "Ús de ".$_SERVER["argv"][0]." \n"; echo "Esta és la plana d'utilitats.\n"; echo "Pots triar entre les següents opcions: \n"; echo "\t -ajuda \tPresenta esta plana d'ajuda.\n"; echo "\t -info \tPresenta informació útil del funcionament del bot: darrera publicació, errades,....\n"; echo "\t -imp \tConsulta els impulsos guardats fins el moment i els presenta per pantalla.\n"; echo "\t -impj \tConsulta els impulsos guardats fins el moment i els presenta i actualitza el fitxer json.\n"; echo "\t -mencs \tActualitza el fitxer json de mencions al bot.\n"; echo "\t -emoci \tConsulta els fitxer json de les valoracions de les mencions.\n"; echo "\t -regs \tRepassa el registre de noticies publicades. (Té opcions)\n"; echo "\t -urlsr \tRecupera els fitxers d'url a partir del registre json de les publicades.\n"; echo "\t -graf \tGenera els gràfics del resum setmanal.\n"; echo "\t -segs \tEt mostra el nombre de seguidors actuals del compte.\n"; echo "\t -asegs \tEt la estadística per setmanes de la darrera publicació de tuts dels seguidors.\n"; echo "\t -inst \tEstadistica de quina instància son els seguidors.\n"; echo "\t -fitxs \tEt mostra el nombre de linies dels fitxers de control del bot.\n"; echo "\t -ctemps \tConverteix el temps a diferents format per si vols consultar o modificar-ho en alguna part de la programació.\n"; echo "\t \tAmb esta opció cal afegir la data en format 'Sun, 12 Mar 2023 12:55:00 +0100' i entre cometes.\n"; echo "\t -vvars \tPer veure les variables del fitxer.(?)\n"; echo "Exemple per a utilitzar ".$_SERVER["argv"][0]."\n"; echo "\t /el/cami/fins/la/carpeta/".$_SERVER["argv"][0]." -opció\n"; echo "Espere que't siga util. 😉 \n"; } memoria: echo "\n".mostra_us_memoria()." ".mostra_pic_memoria()."\n"; exit; ?>