bot_plus/utils/bot_plus_comentaris.php
2024-08-21 20:51:39 +02:00

191 líneas
8,3 KiB
PHP

<?php
$tc = microtime(true);
// Comprova els arguments, en cas de no existir ho avisa.
//if ( (!empty($_SERVER["argv"][1])) && (!empty($_SERVER["argv"][2])) && (!empty($_SERVER["argv"][3])) ){
if ( (!empty($_SERVER["argv"][1])) ) {
$argument = $_SERVER["argv"][1];
$data_ina = $_SERVER["argv"][2];
$data_dif = $_SERVER["argv"][3];
} else {
// Presenta l'errada
echo "NO HE REBUT les variables";
// exit;
}
$lloc = $argument;
// ara podrá carregar la configuració i el logger
include("".$lloc."/configuracio/bot_plus_cfg.php");
include("".$lloc."/utils/bot_plus_funcions.php");
require_once("".$lloc."/lib/logger.php");
// inicia el log
$log = new Logging();
$log->lfile(''.$log_fitxer.'');
// per quan trasllade aqui la decisió de fer el comentari des de bot_plus
$log->lwrite("Estan activats els comentaris.");
if($control_memoria_utils == 1) {
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria() );
}
$arrancat = 0;
if ( $data_ina >= $data_dif) {
$log -> lwrite("Arranque comentaris: ".$data_ina." (".gmdate("H:i:s", ($data_ina))." h)");
$arrancat = 1;
// obtindre els perfils dels seguidors cal curl
// GET https://mastodon.example/api/v1/accounts/:id/followers HTTP/1.1
$instancia = "mastodont.cat";
$creador = "https://mastodont.cat/@bonobo";
$inscrit = "1/12/2022";
// activar comentari (private) als seguidors d'inactivitat
// llegir data de la darrera publicació
$com_lle = fopen($lloc."/fitxers/comentari_pub.txt", "r") or die("No puc obrir la darrera data!");
$com_ant = fread($com_lle,filesize($lloc."/fitxers/comentari_pub.txt"));
fclose($com_lle);
$compte_lle = fopen($lloc."/fitxers/compte_pub.txt", "r") or die("No puc obrir la darrera data!");
$compte_ant = fread($compte_lle,filesize($lloc."/fitxers/compte_pub.txt"));
fclose($compte_lle);
$espera_coment2 = (strtotime($espera_coment2) - 120);
$com_ara2 = strtotime("now");
$com_ara3 = ($com_ara2 + rand(0,10));
// echo "com_ant: ".$com_ant."\n";
// echo "com_com: ".$espera_coment."\n";
// echo "com_ara: ".$com_ara."\n";
$com_dif = ($espera_coment2 - $com_ara2) - 120;
// echo "com_dif: ".$com_dif."\n";
$com_ina = ($com_ara2 - $com_ant);
if ($com_ina > $com_dif) {
// echo "Active - temps superat = ".($com_ina > $com_dif)."\n";
// publique sequencialment un missatge per inactivitat
//cal triar un nombre pel divisor. Només si la divisió dona numero sencer es publicarà. (1 tots, 2 la meitat, 3 un de cada tres, ...)
$data_ina_mod = $data_ina + (rand(-1,1));
$publicacio = null;
$decisio = TriaOpcio($com_ara2);
// if ( is_int($com_ara2/7)) {
if ( ($decisio == 1) ) {
// $dic = "Soc ".$bot_nom.". Continue actiu, :cli_user: amb la versió ".$bot_versio." i vaig registrar-me el ".$inscrit.".\nAra fa ".date("H:i:s",($data_ina_mod-HoraGmt()))." hores que no hi han novetats per publicar de ".$web_of." 🖥️ .\n#SocUnBot 🤖";
$directori = $lloc."/fitxers/";
$compta_fitxers = count(glob($directori . "*"));
$fitxers = shell_exec("du -h -s ".$directori);
$fit_mat = str_split($fitxers, 4);
//echo "There were $compta_fitxers";
$dic = "Fa ".gmdate("H:i:s",$data_ina_mod)." hores que no publique tuts d'actualitat de ".$web_of.".\n".
"Als meus fitxers, ".$compta_fitxers." en tinc, guarde ".$fit_mat[0]." de dades.\n".
"#SocUnBot\n".
$bot_nom." v".$bot_versio."\n";
// } elseif ( is_int($com_ara2/5)) {
} elseif ( ($decisio == 2) ) {
$dic = ":cli_user: Continue actiu des del ".$inscrit." i n'he publicat ".$compte_ant." tuts d'actualitat.\nAra fa ".gmdate("H:i:s",($data_ina_mod))." hores que no hi ha novetats per publicar. 🖥️ \n".$bot_nom." v".$bot_versio." \n#SocUnBot 🤖";
// } elseif ( is_int($com_ara2/3)) {
} elseif ( ($decisio == 3) ) {
// $dic = "La darrera publicació la vaig fer fa ".date("H:i:s",($data_ina_mod-HoraGmt()))."\n".$bot_nom." ".$bot_versio." :cli_user:.\n#SocUnBot 🤖";
$sensors = shell_exec("sensors");
$faig_ma = explode("\n",$sensors);
$dic = "La darrera publicació la vaig fer fa ".gmdate("H:i:s",($data_ina_mod))."\n".
"Esta és la temperatura dels meus processadors :cli_user:.\n".
$faig_ma[3]."\n".
$faig_ma[4]."\n".
"#SocUnBot\n".
$bot_nom." v".$bot_versio."\n";
// } elseif ( is_int($com_ara2/2)) {
} elseif ( ($decisio == 4)||($decisio == 5)||($decisio == 6)||($decisio == 7)|| ($decisio == 8) ) {
// $dic = " ".$bot_nom." ".$bot_versio."\n".date("H:i:s",($data_ina_mod-HoraGmt()))." sense publicar novetats de ".$web_of." 🖥️ .\n#SocUnBot 🤖";
$prev_oratge = shell_exec("ansiweather_mst -a false -l Aigües,ES -H true -s true -d true");
$faig_m = explode(" - ",$prev_oratge);
$dic = "Fa ".gmdate("H:i:s",($data_ina_mod))." que no he publicat cap tut d'actualitat.\n".
"Esta és la previsió de l'oratge #AraMateix a la localitat on està el meu servidor (l'Alacantí). :cli_user:\n".
$faig_m[0]."\n".
$faig_m[1]."\n".
$faig_m[2]."\n".
$faig_m[3]."\n".
$faig_m[4]."\n".
$faig_m[5]."\n".
$faig_m[6]."\n".
$faig_m[7]."\n".
// $faig_m[8]."\n".
"#SocUnBot #Oratge\n".
$bot_nom." v".$bot_versio."\n";
} else {
// $dic = "ping 🖥️ .\nTemps d'inactivitat:".date("H:i",$data_ina)."\n #SocUnBot ";
$dic = "ping 🖥️ .\n".$bot_nom." v".$bot_versio."\n#SocUnBot";
}
$publicacio = $dic;
// echo "publicació: ".$publicacio."\n";
if ($publicacio != null) {
$dades_tut = array(
"status" => $publicacio,
"language" => $llengua,
"visibility" => $visib_com
);
// echo print_r($status_data);
PublicaMissatge($base_url,$headers,$dades_tut);
// echo "matriu resposta: \n";
// echo print_r($comentari_resposta)."\n";
// guarde la data de publicació de comentari
// actualitze strtotime del comentari publicat
$com_t = fopen("".$lloc."/fitxers/comentari_pub.txt", "w") or die("No puc obrir la darrera data!");
// $com_tem = fread($com_t,filesize("".$lloc."/fitxers/comentari_pub.txt"));
$nou_tem = strtotime("now");
// echo "nou_tem: ".$nou_tem."\n";
fwrite($com_t, $nou_tem);
fclose($com_t);
// echo "comentari (bis): ".$publicacio."";
$log->lwrite($publicacio);
} else {
// echo "No active ";
// echo "No publique per pausa interna.";
$log->lwrite("No publique per pausa interna.");
// no fer res
}
} else {
//echo "Inactiu el comentari: ".$com_ina." | ".date("H:i:s",($com_ina-3600))." h | ".$com_dif." \n";
// llegir el temps de publicació de comentari i calcular el que resta per pausa interna
if($arrancat == 1) {
$log->lwrite("Pausa entre els comentaris: ".$com_ina." (".gmdate("H:i:s",($com_ina))." h) | ".$com_dif." (".gmdate("H:i:s",($com_dif) ).")");
}
}
// final condició temps inactivitat
}
//if ( (($data_dif - $data_ina) <= 3900)&&(($data_dif - $data_ina) < $espera_coment2) ) {
if ( (($data_dif - $data_ina) <= 3840) ) {
// diferenciar entre pausa de publicació (externa) i el temps d'espera entre comentaris. (PER FER)
// $log->lwrite("A ".date("H:i:s",($data_dif-$data_ina)-HoraGmt())." hores d'arrancar els comentaris.");
if($arrancat == 0) {
$tempspendent = $data_dif - $data_ina;
// $log->lwrite("A ".gmdate("H:i:s",($data_dif-$data_ina))." hores d'arrancar els comentaris.");
if( gmdate("H",$tempspendent) == 1) {
$log->lwrite("A ".( (gmdate("H",$tempspendent)) == 1 ?"".gmdate("H",$tempspendent)." hora, ":"".gmdate("H",$tempspendent)." hores, " ).
( (gmdate("i",$tempspendent))== 1 ?"".(gmdate("i",$tempspendent))." minut, ":"".(gmdate("i",$tempspendent))." minuts i ").
( (gmdate("s",$tempspendent))== 1 ?"".(gmdate("s",$tempspendent))." segon, ":"".(gmdate("s",$tempspendent))." segons" ).
" d'arrancar els comentaris.");
} else {
$log->lwrite("A ".( (gmdate("i",$tempspendent))== 1 ?"".(gmdate("i",$tempspendent))." minut, ":"".(gmdate("i",$tempspendent))." minuts i ").
( (gmdate("s",$tempspendent))== 1 ?"".(gmdate("s",$tempspendent))." segon, ":"".(gmdate("s",$tempspendent))." segons" ).
" d'arrancar els comentaris.");
}
}
}
//$log -> lwrite("INFO: comentaris: ".(($resposta_com == 0)?"correcte":"ERRADA")."");
$tcf = microtime(true);
$dc = $tcf - $tc;
//echo "\nTemps comentari dins: ".round($dc,4)." ";
$log->lwrite("Temps comentari: ".round($dc,4)." segons");
if($control_memoria_utils == 1) {
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria() );
}
?>