210 líneas
6,8 KiB
PHP
210 líneas
6,8 KiB
PHP
|
<?php
|
||
|
$tm = microtime(true);
|
||
|
// Comprova els arguments, en cas de no existir presenta l'ajuda.
|
||
|
if (!empty($_SERVER["argv"][1])){
|
||
|
$argument = $_SERVER["argv"][1];
|
||
|
} else {
|
||
|
// Presenta l'ajuda
|
||
|
echo "NO HE REBUT la variable";
|
||
|
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.'');
|
||
|
|
||
|
$log->lwrite("Estàn activades les respostes a les mencions.");
|
||
|
|
||
|
// preparatius i variables comunes
|
||
|
$resposta = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||
|
|
||
|
$tmc = microtime(true);
|
||
|
$dcon = $tmc - $tm;
|
||
|
|
||
|
$nr = count($resposta);
|
||
|
|
||
|
$menc_mat = array();
|
||
|
$d = 0;
|
||
|
for ($d = 0; $d < $nr; $d++) {
|
||
|
// triar les variables que volem de la matriu
|
||
|
$men_id = $resposta[$d]['id'];
|
||
|
$mencio = $resposta[$d]['type'];
|
||
|
$men_tp = $resposta[$d]['created_at'];
|
||
|
$usu_id = $resposta[$d]['account']['id'];
|
||
|
$usu_ac = $resposta[$d]['account']['acct'];
|
||
|
// $usu_no = $resposta[$d]['account']['username'];
|
||
|
// $usu_dp = $resposta[$d]['account']['display_name'];
|
||
|
if ($mencio == "mention") {
|
||
|
$mis_id = $resposta[$d]['status']['id'];
|
||
|
} else { $mis_id = 0; }
|
||
|
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$mis_id, 'qui' => $usu_ac, 'mencio' => $mencio, 'quan' => $men_tp );
|
||
|
// }
|
||
|
// echo "tipus de menció ".$d.": ".$mencio." i nº ".$men_id." - qui: ".$qui."\n";
|
||
|
// sleep(1);
|
||
|
}
|
||
|
|
||
|
$nombre_matriu = count($menc_mat);
|
||
|
$men_resp = null;
|
||
|
|
||
|
//if($nombre_matriu >= 1) {
|
||
|
|
||
|
// llegir fitxer per evitar repeticions
|
||
|
$mencio_arx = shell_exec("cat ".$lloc."/fitxers/mencions_r.txt");
|
||
|
|
||
|
// verificar que un usuari fa més d'una volta la mateixa acció (?);
|
||
|
$e = 0;
|
||
|
$nm = 0;
|
||
|
$num_seg = 0;
|
||
|
$mr = 0;
|
||
|
for ($e = 0; $e < $nombre_matriu; $e++) {
|
||
|
$m_id = $menc_mat[$e]['id'];
|
||
|
$miss_id = $menc_mat[$e]['mis_id'];
|
||
|
$usuari= $menc_mat[$e]['qui'];
|
||
|
$mencio_t= $menc_mat[$e]['mencio'];
|
||
|
$temps = $menc_mat[$e]['quan'];
|
||
|
$mencio_arx = shell_exec("cat ".$lloc."/fitxers/mencions_r.txt");
|
||
|
$no_repetir = strpos($mencio_arx,$miss_id);
|
||
|
if ($mencio_t == "mention") {
|
||
|
// if ( ($mencio_t == "mention") && ($mis_id <>0)) {
|
||
|
$no_repetir = strpos($mencio_arx,$miss_id);
|
||
|
// echo "no repetir: ".$e."|".$usuari."|".$no_repetir."\n";
|
||
|
// $log->lwrite("no repetir: ".$e."|".$usuari."|".$no_repetir."");
|
||
|
// sleep(2);
|
||
|
if( ($no_repetir === false) ) {
|
||
|
// echo "menció de : ".$usuari." - ".$mencio_t." - ".$miss_id."\n";
|
||
|
if (is_int($miss_id/7)) {
|
||
|
$men_resp = "Ja em disculparàs, @".$usuari." soc un bot :cli_user: amb la versió ".$bot_versio." i encara no converse. \nDe tota manera, moltes gràcies per la teua menció.\n🤖 #SocUnBot";
|
||
|
} elseif (is_int($miss_id/5)) {
|
||
|
$men_resp = "Moltes gràcies per la menció, @".$usuari.".:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||
|
} elseif (is_int($miss_id/3)) {
|
||
|
$men_resp = "He vist que m'has mencionat, @".$usuari." i et done les gràcies.:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||
|
} elseif (is_int($miss_id/2)) {
|
||
|
$men_resp = "Agraït per la menció, @".$usuari.".:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||
|
} else {
|
||
|
$men_resp = "Gràcies per mencionar-me, @".$usuari.". Soc ".$bot_nom." i la meua versió és ".$bot_versio." :cli_user:.\n🤖 #SocUnBot";
|
||
|
}
|
||
|
$en_resposta = $miss_id;
|
||
|
|
||
|
if ( ($men_resp != null) ) {
|
||
|
if($act_mencio_resp == 1) {
|
||
|
|
||
|
// Publica a Mastodon
|
||
|
$dades_tut = array(
|
||
|
"status" => $men_resp,
|
||
|
"language" => $llengua,
|
||
|
"visibility" => $visib_mencs,
|
||
|
"in_reply_to_id" => $en_resposta
|
||
|
);
|
||
|
|
||
|
//print_r($status_data);
|
||
|
//sleep(10);
|
||
|
PublicaMissatge($headers,$base_url,$dades_tut);
|
||
|
$log->lwrite("NOVA MENCIO: ".$men_resp." : ".$usuari." - id: ".$en_resposta." ");
|
||
|
|
||
|
}
|
||
|
|
||
|
$decisio = TriaOpcio($en_resposta);
|
||
|
|
||
|
if( ($decisio == 1) ||
|
||
|
($decisio == 2) ||
|
||
|
($decisio == 3) ||
|
||
|
($decisio == 4) ||
|
||
|
($decisio == 5) ||
|
||
|
($decisio == 8) ||
|
||
|
($decisio == 9) ) {
|
||
|
//if(is_int($en_resposta/2)) {
|
||
|
FesRebloc($base_url,$en_resposta,$headers);
|
||
|
$heoptat = "he fet impuls";
|
||
|
//print_r($fav_output_status);
|
||
|
} elseif( ($decisio == 6) ||
|
||
|
($decisio == 7) ||
|
||
|
($decisio == 10) ) {
|
||
|
FesFavorit($base_url,$en_resposta,$headers);
|
||
|
$heoptat = "he fet favorit";
|
||
|
} else {
|
||
|
FesFavorit($base_url,$en_resposta,$headers);
|
||
|
FesRebloc($base_url,$en_resposta,$headers);
|
||
|
$heoptat = "he fet impuls i favorit";
|
||
|
//print_r($reb_output_status);
|
||
|
}
|
||
|
|
||
|
// escriu la menció al fitxer per no repetir-la
|
||
|
$escriu_mencions = fopen($lloc."/fitxers/mencions_r.txt", "a") or die("No puc escriure al registre!");
|
||
|
fwrite($escriu_mencions, $en_resposta."\n");
|
||
|
fclose($escriu_mencions);
|
||
|
//echo "".$men_resp." - id: ".$en_resposta." ";
|
||
|
$escriu_mencions_detall = fopen($lloc."/fitxers/mencions.txt", "a") or die("No puc escriure al registre!");
|
||
|
fwrite($escriu_mencions_detall, $m_id."-".$en_resposta."-".$usuari."-".$mencio_t."-".$temps."\n");
|
||
|
fclose($escriu_mencions_detall);
|
||
|
// echo "He escrit ". $m_id."-".$en_resposta."-".$usu_ac."-".$temps."\n";
|
||
|
$mr++;
|
||
|
|
||
|
}
|
||
|
$menc_mat_f[] = array( 'id' => (int)$m_id, 'mis_id' => (int)$miss_id, 'qui' => $usuari, 'mencio' => $mencio_t, 'quan' => $temps );
|
||
|
|
||
|
$nm++;
|
||
|
// echo "nm: ".$nm."\n";
|
||
|
$log->lwrite("NOVA MENCIO: ".$usuari." - id: ".$en_resposta." ".$mencio_t." ".$heoptat);
|
||
|
|
||
|
// final missatge no es nul
|
||
|
}
|
||
|
|
||
|
//final no repetir
|
||
|
}
|
||
|
|
||
|
// final bucle for
|
||
|
}
|
||
|
/**
|
||
|
if($nm>=1) {
|
||
|
$fes_json = json_encode($menc_mat_f, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY);
|
||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "a") or die("No puc escriure al registre!");
|
||
|
fwrite($escriu_f_json, $fes_json);
|
||
|
fclose($escriu_f_json);
|
||
|
}
|
||
|
**/
|
||
|
// $menc_json_actual = shell_exec("php /proves/proves_mencions_json.php.");
|
||
|
|
||
|
//print_r($output_status);
|
||
|
//}
|
||
|
//echo $nm."\n";
|
||
|
|
||
|
//final if publicat
|
||
|
// }
|
||
|
|
||
|
// final condicional per estalviar temps(?)
|
||
|
//}
|
||
|
|
||
|
//$impuls = shell_exec("php ".$lloc."/proves/proves_mencions_json.php ".$lloc);
|
||
|
|
||
|
// fer la matriu de les dades existents al json
|
||
|
if ($nm > 0) {
|
||
|
//$usa_json = exec("php ".$lloc."/proves/proves_impulsos_json.php ".$lloc , $eix_usa_json, $resp_usa_json);
|
||
|
$usa_json = shell_exec("php ".$lloc."/proves/proves_mencions_json.php ".$lloc);
|
||
|
}
|
||
|
|
||
|
//retalle a un màxim de 40 linies
|
||
|
$fit_mencions = $lloc."/fitxers/mencions_r.txt";
|
||
|
$lin_men = count(file($fit_mencions));
|
||
|
if($lin_men > 60) {
|
||
|
$net_men0 = shell_exec("tail -60 ".$lloc."/fitxers/mencions_r.txt | tee ".$lloc."/fitxers/mencions_r.txt");
|
||
|
$net_men1 = shell_exec("tail -60 ".$lloc."/fitxers/mencions.txt | tee ".$lloc."/fitxers/mencions.txt");
|
||
|
}
|
||
|
|
||
|
$tmf = microtime(true);
|
||
|
$dm = $tmf - $tm;
|
||
|
//echo "Temps mencions: ".round($dm,4)."";
|
||
|
$log->lwrite("Temps mencions: ".round($dm,4)."");
|
||
|
|
||
|
|
||
|
// afegir aqui i arrancar els impulsos?
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
?>
|