bot_plus/utils/bot_plus_graficsxdies.php

317 líneas
10 KiB
PHP

2024-08-21 20:50:04 +02:00
<?php
if (!empty($_SERVER["argv"][1])){
$argument = $_SERVER["argv"][1];
$ferfil = $_SERVER["argv"][2];
// $pub = $_SERVER["argv"][2];
} else {
// Presenta l'ajuda
echo "NO HE REBUT la variable\n";
echo "Cal el directori on s'executa el bot_plus.\n";
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."");
// fer el gràfic amb les dades recopilades
//$fer_grafic_imp = shell_exec("php -f ".$lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc);
$fer_grafic_setm = exec("php -f ".$lloc."/utils/bot_plus_fergrafic_setm.php ".$lloc, $eix_grfs, $resp_grfs);
$log -> lwrite("INFO: fer grafic impulsos ".( (($resp_grfs == null))?"correcte":"ERRADA")."");
//echo $resp_grfs;
// IMPULSOS
// puja imatge a mastodont
$pub_cent = ".";
$pub_img = $lloc."/grafic/grafic_setm_imp.png";
$fitxer_tipus = mime_content_type($pub_img);
$publica_img = array(
"file" => $pub_img,
"type"=> $fitxer_tipus,
"description" => 'Gràfic dels reblocs fets durant els dies de la setmana.'
);
$publ_img = json_encode($publica_img);
$status_data = array(
"status" => $pub_cent,
"text" => $pub_cent,
"language" => $llengua,
"visibility" => $visib_com
);
$pub_img = $lloc."/grafic/grafic_setm_imp.png";
$fitxer_tipus = mime_content_type($pub_img);
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
$publica_img = [ 'file' => $fitxer_prep,
'description' => 'Gràfic dels reblocs fets durant els dies de la setmana.',
'text' => $pub_cent,
'status' => 'Missatge amb imatge des del bot'
];
// 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);
echo "\n\nresposta media : \n";
print_r ($output_status);
$imat_mst = $output_status['id'];
$imat_url = $output_status['url'];
// arreplegar dades imatge pujada
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);
$resposta = json_decode($resposta,true);
// echo "\n\nresposta json_decode\n";
// print_r($resposta);
echo "obtenció dades media impulsos: \n";
print_r($resposta_json);
sleep(1);
$im_id = $resposta['id'];
$im_url = $resposta['url'];
$im_type = $resposta['type'];
$im_desc = $resposta['description'];
$img_bis = $lloc."/grafic/grafic_setm_imp.png";
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
$imatge_adj_json = json_encode($imatge_adj);
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;
}
}
}
//$tut = $part0."".$part1."\n".$actius_gr."\n".$part2."\n";
$tut = "Reblocs fets cada dia de la setmana.\n".
"#ResumSetmanal #SocUnBot 🤖";
/**
$fitxer = $lloc."/fitxers/impulsos.json";
$json_dec = json_decode(file_get_contents($fitxer), true);
$ara = (filemtime($fitxer));
$maxim = count($json_dec);
$e = 0;
$rb = 0;
$fv = 0;
//$o = 1;
for($e=0;$e<$maxim;$e++) {
// $imp = $json_dec[$e]['mencio'];
if($json_dec[$e]['mencio'] == "reblog") {
$imp = $json_dec[$e]['mis_id'];
$quan_imp = $json_dec[$e]['quan'];
// $imp[$e] = [$json_dec[$e]['mencio'],$json_dec[$e]['qui']];
// $imp_matriu_r[] = $imp ;
$imp_matriu_r[] = $quan_imp ;
// $rb++;
}
if($json_dec[$e]['mencio'] == "favourite") {
$impf = $json_dec[$e]['mis_id'];
$quan_fav = $json_dec[$e]['quan'];
// $imp[$e] = [$json_dec[$e]['mencio'],$json_dec[$e]['qui']];
// $imp_matriu_f[] = $impf ;
$imp_matriu_f[] = $quan_fav ;
// $fv++;
}
}
**/
//echo $tut;
$tut_matriu = array(
"status" => $tut,
"text" => $tut,
"language" => $llengua,
"media_ids[]" => $im_id,
"visibility" => $visib_cent,
"sensitive" => null,
"spoiler_text" => null,
"in_reply_to_id" => $ferfil
);
http_build_query_for_curl( $tut_matriu, $tut_dades );
// 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_matriu);
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);
// PublicaMissatge($base_url,$headers,$tut_dades);
//print_r($resposta_img_txt);
// final publicar
//}
$ferfil = $resposta_img_txt['id'];
// FAVORITS
// puja imatge a mastodont
$pub_cent = ".";
$pub_imgf = $lloc."/grafic/grafic_setm_fav.png";
$fitxer_tipus = mime_content_type($pub_imgf);
$publica_img = array(
"file" => $pub_img,
"type"=> $fitxer_tipus,
"description" => 'Gràfic dels favorits durant els dies de la setmana.'
);
$publ_img = json_encode($publica_img);
$status_data = array(
"status" => $pub_cent,
"text" => $pub_cent,
"language" => $llengua,
"visibility" => $visib_com
);
$pub_img = $lloc."/grafic/grafic_setm_fav.png";
$fitxer_tipus = mime_content_type($pub_img);
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
$publica_img = [ 'file' => $fitxer_prep,
'description' => 'Gràfic dels favorits durant els dies de la setmana.',
'text' => $pub_cent,
'status' => 'Missatge amb imatge des del bot'
];
// 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);
echo "\n\nresposta media : \n";
print_r ($output_status);
$imat_mst = $output_status['id'];
$imat_url = $output_status['url'];
// arreplegar dades imatge pujada
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);
// var_dump($resposta);
// echo "resposta\n";
// print_r($resposta);
$resposta = json_decode($resposta,true);
// echo "\n\nresposta json_decode\n";
// print_r($resposta);
echo "obtenció dades media favorits: \n";
print_r($resposta_json);
sleep(1);
$im_id = $resposta['id'];
$im_url = $resposta['url'];
$im_type = $resposta['type'];
$im_desc = $resposta['description'];
$img_bis = $lloc."/grafic/grafic_setm_fav.png";
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
$imatge_adj_json = json_encode($imatge_adj);
/**
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;
}
}
}
**/
// final fer grafic per publicar
//}
//$tut = $part0."".$part1."\n".$actius_gr."\n".$part2."\n";
$tut = "Favorits fets cada dia de la setmana.\n".
"#ResumSetmanal #SocUnBot 🤖";
//echo $tut;
$tut_matriu = array(
"status" => $tut,
"text" => $tut,
"language" => $llengua,
"media_ids[]" => $im_id,
"visibility" => $visib_cent,
"sensitive" => null,
"spoiler_text" => null,
"in_reply_to_id" => $ferfil
);
http_build_query_for_curl( $tut_matriu, $tut_dades );
// 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_matriu);
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);
//$graf_fav_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_favoritsxdies.php ".$lloc." ".$ferfil."");
//$log -> lwrite("INFO: fer tut gràfic de favorits per dies: ".( (($graf_fav_setm != null)||($graf_fav_setm != false))?"correcte":"ERRADA")."");
?>