Bilbaobot: Difference between revisions
From HSS
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
== Proyecto == |
== Proyecto == |
||
En mayo de 2024 en HSS realizamos una experiencia de apreciación de fragmentos encontrados en la obra de Francisco Bilbao. El resultado fue un set de frases o párrafos con ideas llamativas e incendiarias para el siglo XIX ¿Y para el siglo XXI? No lo sabemos. |
En mayo de 2024 en HSS realizamos [[Hackeando Bilbao|una experiencia de apreciación de fragmentos encontrados en la obra de Francisco Bilbao]]. El resultado fue un set de frases o párrafos con ideas llamativas e incendiarias para el siglo XIX ¿Y para el siglo XXI? No lo sabemos. |
||
Puedes acceder y seguir al Bilbao Mecánico en las siguientes plataformas. |
Puedes acceder y seguir al Bilbao Mecánico en las siguientes plataformas. |
||
Latest revision as of 19:46, 18 May 2024
Proyecto
En mayo de 2024 en HSS realizamos una experiencia de apreciación de fragmentos encontrados en la obra de Francisco Bilbao. El resultado fue un set de frases o párrafos con ideas llamativas e incendiarias para el siglo XIX ¿Y para el siglo XXI? No lo sabemos.
Puedes acceder y seguir al Bilbao Mecánico en las siguientes plataformas.
- ActivityPub (Mastodon, Pixelfed, Friendica, etc.)
https://botsin.space/@bilbaobot
- Telegram
Código
En cuanto a programación, en bilbaobot está escrito en php. El siguiente código se ejecuta diariamente a las 00hrs de Chile en el servidor anfibio del HSS.
<?php
/*
BILBAOBOT: el Bilbao Mecánico
https://hackerspace.cl
*/
//
// escoge frase al azar
//
$archivotoots = file(__DIR__.'/bilbaotoots.txt');
shuffle($archivotoots);
$bilbaodijo = $archivotoots[0];
//
// datos para autenticación
//
$instMastodon = "zzzz.yy";
$tokenMastodon = "a1a4a7";
$tokenBotTg = "e2e5e8";
$idChannelTg = "i3i6i9";
//
// función que postea en mastodon
//
function postToMastodon($data=array(), $tokenMastodon) {
$accessToken = $tokenMastodon;
$url = 'https://'.$instMastodon.'/api/v1/statuses';
$fields['status'] = $data['status'];
$headers = array(
"Authorization: Bearer ".$accessToken,
"Content-Type: application/json",
"Accept: application/json",
"Accept-Charset: utf-8"
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POST => TRUE,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => json_encode($fields),
CURLOPT_TIMEOUT => 20
);
$curl = curl_init();
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response, true);
}
//
// función que envía msje en telegram
//
function sendMethod($tokenBotTg, $method, $params = array()) {
$ch = curl_init("https://api.telegram.org/bot$tokenBotTg/$method");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux i686; rv:32.0) Gecko/20100101 Firefox/40.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5000);
curl_setopt($ch, CURLOPT_TIMEOUT, 5000);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
return curl_exec($ch);
}
//
// arreglo con msje en telegram
//
$params = array(
"chat_id" => $idChannelTg,
"parse_mode" => "Markdown",
"text" => $bilbaodijo
);
//
// envía frase :-)
//
echo 'enviando: '.$bilbaodijo;
echo postToMastodon(array('status'=>$bilbaodijo),$tokenMastodon);
echo '<hr>';
echo sendMethod($tokenBotTg,"sendMessage",$params);
?>