155 líneas
4,8 KiB
PHP
155 líneas
4,8 KiB
PHP
<?php
|
|
if (!empty($_SERVER["argv"][1])){
|
|
$argument = $_SERVER["argv"][1];
|
|
$input = $_SERVER["argv"][2];
|
|
$en_resposta = $_SERVER["argv"][3];
|
|
$usuari = $_SERVER["argv"][4];
|
|
$mis_vis = $_SERVER["argv"][5];
|
|
} 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."");
|
|
|
|
$log -> lwrite("rebut: ".$input."-".$en_resposta."-".$usuari."-".$mis_vis);
|
|
|
|
$comp_info = strpos($input,"saludabot");
|
|
if($comp_info === false) {
|
|
|
|
$log -> lwrite("Comentari sense etiqueta #saludabot");
|
|
|
|
} else {
|
|
|
|
// INFORME
|
|
$titol = "Benvingut @".$usuari." \n".
|
|
"Soc un bot que publica l'actualitat. Faig un #ResumSetmanal estadístic.\n".
|
|
"Estes son les opcions que pots utilitzar:\n".
|
|
" #infobot: dades del funcionament intern.\n".
|
|
" #usuaribot: resum de la teua activitat setmanal.\n".
|
|
" #impulsosbot: resum dels impulsos rebuts.\n".
|
|
" #oratgebot: previsió meteorològica on està el servidor.\n".
|
|
" #comentabot: afegeix-lo al teu comentari i et faré un tut del que em sembla (en elaboració).\n".
|
|
" #saludabot: este missatge.\n".
|
|
"Les respostes tenen la visibilitat en que has fet el teu tut.";
|
|
//versió
|
|
$entra = "Espere que et siguen útils @".$usuari."\n".
|
|
$bot_nom." versió: ".$bot_versio."\n";
|
|
|
|
$com_tut = "#SocUnBot 📝";
|
|
|
|
$tut = $titol."\n".$entra."\n".$com_tut;
|
|
echo $tut."\n";
|
|
echo strlen($tut);
|
|
|
|
$lletres = strlen($tut);
|
|
echo $lletres." caracters \n";
|
|
$linies_tut = substr_count($tut, "\n");
|
|
|
|
$nlin = 6;
|
|
if ($lletres >= 480) {
|
|
//if($linies_tut>=$nlin) {
|
|
|
|
$pasada = ceil($linies_tut/$nlin);
|
|
|
|
for($r=1;$r<=$pasada;$r++) {
|
|
$tut_complet = $tut;
|
|
$linies = explode("\n", $tut_complet);
|
|
if($r==1) {
|
|
$linies = array_slice($linies, 0, $nlin*$r); //18 is how many lines you want to keep
|
|
|
|
} else {
|
|
$linies = array_slice($linies, $nlin*($r-1), $nlin); //18 is how many lines you want to keep
|
|
|
|
}
|
|
$tut_frag = implode("\n", $linies);
|
|
// echo "linies: ".$nlin*$r."\n";
|
|
// echo "Tut nº".$r."\n".$tut_frag."\n";
|
|
// echo strlen($tut_frag)." caracters \n";
|
|
// echo substr_count($tut_frag,"\n")." linies \n";
|
|
// echo $linies_tut." linies \n";
|
|
// sleep(1);
|
|
|
|
if($r==1) {
|
|
// Publica a Mastodon
|
|
$dades_tut = array(
|
|
"status" => $tut_frag,
|
|
"language" => $llengua,
|
|
"visibility" => $mis_vis,
|
|
"in_reply_to_id" => $en_resposta
|
|
);
|
|
} else {
|
|
// Publica a Mastodon
|
|
$dades_tut = array(
|
|
"status" => $tut_frag,
|
|
"language" => $llengua,
|
|
"visibility" => $mis_vis,
|
|
"in_reply_to_id" => $mes_comp_id
|
|
);
|
|
}
|
|
// no es pot aplicar la funció. no retrona el id per fer la resposta o fil.
|
|
// PublicaMissatge($base_url,$headers,$tut_data);
|
|
$bot_conn = curl_init();
|
|
curl_setopt($bot_conn, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
|
curl_setopt($bot_conn, CURLOPT_POST, 1);
|
|
curl_setopt($bot_conn, CURLOPT_POSTFIELDS, $dades_tut);
|
|
curl_setopt($bot_conn, CURLOPT_HTTPHEADER, $headers);
|
|
curl_setopt($bot_conn, CURLOPT_RETURNTRANSFER, true);
|
|
// $resposta_in = curl_exec($bot_conn);
|
|
// $resposta_conn = json_decode($resposta_in,true);
|
|
$resposta_conn = json_decode(curl_exec($bot_conn),true);
|
|
curl_close ($bot_conn);
|
|
|
|
// print_r($resposta_conn);
|
|
$mes_comp_id = $resposta_conn['id'];
|
|
sleep(1);
|
|
}
|
|
|
|
} else {
|
|
// publica només un tut
|
|
echo $men_resp;
|
|
//echo strlen($tut)." caracters \n";
|
|
//echo "linies_tut: ".$linies_tut."\n";
|
|
|
|
// Publica a Mastodon
|
|
$dades_tut = array(
|
|
"status" => $men_resp,
|
|
"language" => $llengua,
|
|
"visibility" => $mis_vis,
|
|
"in_reply_to_id" => $en_resposta
|
|
);
|
|
|
|
// PublicaMissatge($base_url,$headers,$tut_data);
|
|
$bot_conn = curl_init();
|
|
curl_setopt($bot_conn, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
|
curl_setopt($bot_conn, CURLOPT_POST, 1);
|
|
curl_setopt($bot_conn, CURLOPT_POSTFIELDS, $dades_tut);
|
|
curl_setopt($bot_conn, CURLOPT_HTTPHEADER, $headers);
|
|
curl_setopt($bot_conn, CURLOPT_RETURNTRANSFER, true);
|
|
// $resposta_in = curl_exec($bot_conn);
|
|
// $resposta_conn = json_decode($resposta_in,true);
|
|
$resposta_conn = json_decode(curl_exec($bot_conn),true);
|
|
curl_close ($bot_conn);
|
|
|
|
// echo "resposta del servidor\n";
|
|
// print_r($resposta_conn);
|
|
// $mes_comp_id = $resposta_conn['id'];
|
|
|
|
}
|
|
//print_r($resposta_conn);
|
|
|
|
// PublicaMissatge($base_url,$headers,$dades_tut);
|
|
|
|
//print_r($resposta_conn);
|
|
}
|
|
?>
|