bot_plus/utils/bot_plus_erradatecnica.php
2024-08-21 20:50:34 +02:00

183 líneas
6,4 KiB
PHP
Original Blame Històric

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$tc = microtime(true);
// Comprova els arguments, en cas de no existir presenta l'ajuda.
if (!empty($_SERVER["argv"][1])){
$lloc = $_SERVER["argv"][1];
} else {
echo "NO HE REBUT la variable";
exit;
}
// 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("Arranque tut d'errada tècnica.");
// llegeix el nombre de seguidors
$nerrada_lle = fopen($lloc."/fitxers/errada_cont.txt", "r") or die("No puc obrir el nombre seguidors!");
$nerrada_ant = fread($nerrada_lle,filesize($lloc."/fitxers/errada_cont.txt"));
fclose($nerrada_lle);
$pub_cent = null;
$pub_img = null;
if(is_int($nerrada_ant/$num_errades) ) {
$pub_img = $lloc."/gifis/carta-ajustament-televisio.jpeg";
$fitxer_tipus = mime_content_type($pub_img);
$publica_img = array(
"file" => $pub_img,
"type"=> $fitxer_tipus,
"description" => "Carta d'ajustament del televisor indicant que no hi rep cap senyal."
);
//print_r($publica_img);
//echo "mostrat matriu publica_img\n";
//sleep(4);
$publ_img = json_encode($publica_img);
//echo "publ_img: ".$publ_img."\n";
//echo "mostrat publ_img\n";
//sleep(4);
// publicar
if ($pub_img != null) {
$status_data = array(
"status" => $pub_cent,
"text" => $pub_cent,
"language" => $llengua,
"visibility" => $visib_com
);
$pub_img = $lloc."/gifis/carta-ajustament-televisio.jpeg";
$fitxer_tipus = mime_content_type($pub_img);
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
$publica_img = [ 'file' => $fitxer_prep,
'description' => 'Carta d´ajustament de televisor amb un avís indicant que no rep cap senyal.',
'text' => $pub_cent,
'status' => 'Estem experimentant dificultats tècniques.\En breus minuts podràn seguir les novetat del compte.\Els preguem disculpes.\nMoltes gràcies.' ];
// pujada de la imatge
$ch_status = curl_init();
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v2/media");
curl_setopt($ch_status, CURLOPT_POST, 1);
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $publica_img);
curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);
$output_status = json_decode(curl_exec($ch_status),true);
curl_close ($ch_status);
// $p++;
//echo "\n\nresposta media : \n";
//print_r ($output_status);
$imat_mst = $output_status['id'];
$imat_url = $output_status['url'];
//echo "id de la imatge pujada: ".$imat_mst."\n";
sleep(1);
// PujaImatges($base_url,$imat_mst,$headers,$bot_status);
$bot_status = curl_init();
curl_setopt($bot_status, CURLOPT_URL, $base_url . "/api/v1/media/".$imat_mst."");
curl_setopt($bot_status, CURLOPT_RETURNTRANSFER, true);
curl_setopt($bot_status, CURLOPT_HTTPHEADER, $headers);
$resposta = (curl_exec($bot_status));
$resposta_json = json_decode(curl_exec($bot_status));
curl_close ($bot_status);
// print_r($resposta);
$resposta = json_decode($resposta,true);
// echo "\n\nresposta json_decode\n";
// print_r($resposta);
//echo "obtenció dades media: \n";
//print_r($resposta_json);
sleep(1);
$im_id = $resposta['id'];
$im_url = $resposta['url'];
$im_type = $resposta['type'];
$im_desc = $resposta['description'];
//sleep(10);
$img_bis = $lloc."carta-ajustament-televisio.jpeg";
$pub_errada = "Per causes alienes a la nostra voluntat, estem experimentant dificultats tècniques.\nEls pregue disculpes.\nContinuen atents al compte.\n".
"Moltes Gràcies.\n#SocUnBot\n".$bot_nom." v".$bot_versio."";
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
$imatge_adj_json = json_encode($imatge_adj);
$status_data2 = array(
"status" => $pub_errada,
"language" => $llengua,
"visibility" => $visib_com
);
// funció per enviar matriu en matriu
function http_build_query_for_curl( $arrays, &$new = array(), $prefix = null ) {
if ( is_object( $arrays ) ) {
$arrays = get_object_vars( $arrays );
}
foreach ( $arrays AS $key => $value ) {
$k = isset( $prefix ) ? $prefix . '[' . $key . ']' : $key;
if ( is_array( $value ) OR is_object( $value ) ) {
http_build_query_for_curl( $value, $new, $k );
} else {
$new[$k] = $value;
}
}
}
$pub_errada = "Per causes alienes a la nostra voluntat, estem experimentant dificultats tècniques.\nEls pregue disculpes.\nContinuen atents al compte.\n".
"Moltes Gràcies.\n#SocUnBot\n".$bot_nom." v".$bot_versio."";
$tut_matriu = array(
"status" => $pub_errada,
"text" => $pub_cent,
"language" => $llengua,
"media_ids[]" => $im_id,
"visibility" => $errada_vis,
"sensitive" => true,
"spoiler_text" => null,
"in_reply_to_id" => null
);
http_build_query_for_curl( $tut_matriu, $tut_dades );
// comentat per no publicar proves funció
// PublicaMissatge($headers,$base_url,$tut_dades);
$pub_text_imat = curl_init();
curl_setopt($pub_text_imat, CURLOPT_URL, $base_url . "/api/v1/statuses");
curl_setopt($pub_text_imat, CURLOPT_POST, 1);
curl_setopt($pub_text_imat, CURLOPT_POSTFIELDS, $tut_dades);
curl_setopt($pub_text_imat, CURLOPT_RETURNTRANSFER, true);
curl_setopt($pub_text_imat, CURLOPT_HTTPHEADER, $headers);
$resposta_img_txt = json_decode(curl_exec($pub_text_imat),true);
curl_close ($pub_text_imat);
}
}
else {
$log->lwrite("Esta volta no publique tut. Nº errada: ".$nerrada_ant."");
}
$error_num = fopen($lloc . "/fitxers/errada_cont.txt", "r") or die("No puc obrir el contador!");
$error_ant = fread($error_num,filesize("".$lloc ."/fitxers/errada_cont.txt"));
$error_nou = ($error_ant+1);
$error_num = fopen($lloc . "/fitxers/errada_cont.txt", "w") or die("No puc obrir el contador!");
fwrite($error_num, $error_nou);
fclose($error_num);
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria()." - ".__LINE__ );
$tcf = microtime(true);
$dc = $tcf - $tc;
echo "Temps errada tècnica dins: ".round($dc,4)."\n";
$log->lwrite("Temps errada tècnica dins: ".round($dc,4)."");
?>