174 líneas
7,4 KiB
PHP
174 líneas
7,4 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.");
|
||
|
$arrancat = 0;
|
||
|
//$log->lwrite("lloc rebut: ".$lloc."");
|
||
|
//$log->lwrite("data_ina: ".$data_ina." - data_dif: ".$data_dif."");
|
||
|
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/com_pub.txt", "r") or die("No puc obrir la darrera data!");
|
||
|
$com_ant = fread($com_lle,filesize($lloc."/fitxers/com_pub.txt"));
|
||
|
fclose($com_lle);
|
||
|
$espera_coment2 = strtotime($espera_coment2);
|
||
|
$com_ara2 = strtotime("now");
|
||
|
$com_ara3 = ($com_ara2 + rand(-3,3));
|
||
|
// echo "com_ant: ".$com_ant."\n";
|
||
|
// echo "com_com: ".$espera_coment."\n";
|
||
|
// echo "com_ara: ".$com_ara."\n";
|
||
|
$com_dif = ($espera_coment2 - $com_ara2);
|
||
|
// echo "com_dif: ".$com_dif."\n";
|
||
|
$com_ina = ($com_ara2 - $com_ant);
|
||
|
// echo "Inactiu el comentari: ".$com_ina." | ".date("H:i:s",($com_ina-3600))." h | ".$com_dif." \n";
|
||
|
// echo "data_ina: ".$data_ina."\n";
|
||
|
// $inact_pub = $com_ina + 28800;
|
||
|
// echo "inact_pub: ".$inact_pub."\n";
|
||
|
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(-300,300));
|
||
|
$publicacio = null;
|
||
|
if ( is_int($com_ara3/7)) {
|
||
|
// $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_ara3/5)) {
|
||
|
$dic = ":cli_user: Continue actiu des del ".$inscrit.".\nAra fa ".gmdate("H:i:s",($data_ina_mod))." hores que no hi ha novetats per publicar. 🖥️ ".$bot_nom." v".$bot_versio." \n#SocUnBot 🤖";
|
||
|
} elseif ( is_int($com_ara3/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_ara3/2)) {
|
||
|
// $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.\n".
|
||
|
"Esta és la previsió de l'oratge ara mateix a la localitat on està el meu servidor. :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) {
|
||
|
// echo "Entre a publicar es cert - ".($publicacio != null)."\n";
|
||
|
// $log->lwrite("Entre a publicar ".($publicacio != null)."");
|
||
|
// publicar (copiat de bot.php)
|
||
|
// Publica a Mastodon
|
||
|
// $headers = [
|
||
|
// 'Authorization: Bearer ' . $token
|
||
|
// ];
|
||
|
|
||
|
$dades_tut = array(
|
||
|
"status" => $publicacio,
|
||
|
"language" => $llengua,
|
||
|
"visibility" => $visib_com
|
||
|
);
|
||
|
// echo print_r($status_data);
|
||
|
// $log->lwrite(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/com_pub.txt", "w") or die("No puc obrir la darrera data!");
|
||
|
// $com_tem = fread($com_t,filesize("".$lloc."/fitxers/com_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("Inactiu el comentari: ".$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) {
|
||
|
$log->lwrite("A ".gmdate("H:i:s",($data_dif-$data_ina))." hores d'arrancar els comentaris.");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$tcf = microtime(true);
|
||
|
$dc = $tcf - $tc;
|
||
|
//echo "\nTemps comentari dins: ".round($dc,4)." ";
|
||
|
$log->lwrite("Temps comentari: ".round($dc,4)."");
|
||
|
?>
|