Generatore casuale di relazioni didattiche (alias Supercazzola)

Antonio Fini ha scritto un post su Facebook taggandomi, molto divertente. ha postato questa immagine:

 

Non mi esprimo sul contenuto che l’amico bolognese di iperbole ha messo a nudo e le contraddizioni che ha evidenziato al limite della Supercazzola Antani

Mi sono divertito a spostare il piano da esercizio con carta e penna ad un algoritmo digitale integrato in un Bot Telegram.

  1. leggete come creare un Bot Telegram senza server ma solo con Google Scripts.
  2. Create un Foglio di Google o fatevi una copia di questo appuntandovi il KeyID del foglio
  3. Nello Script di Google inserite all’inizio:

ID_SPREADSHEET=”1B575gQ4XN5c67_GnDA-MIB2ldBCobtW_uRZzuiHPqO0″; // la vostra KeyID del foglio di Google

function getRandomArbitrary(min, max) {
return Math.random() * (max – min) + min;
}
function doGet() {
var ss = SpreadsheetApp.openById(ID_SPREADSHEET);
var metaSheet = ss.getSheetByName(‘Foglio1′);
var RSSFeedTitle=”;
for (var i=1; i < 11; i++) {
RSSFeedTitle += metaSheet.getRange(i,getRandomArbitrary(2,7)).getValue()+’ ‘;
}
return RSSFeedTitle;
}

if (msg.text == ‘/random’) {
var payload = {
‘method’: ‘sendMessage’,
‘chat_id’: String(chatId),
‘text’: doGet(),
‘parse_mode’: ‘Markdown’
}

var data = {
“method”: “post”,
“payload”: payload
}
UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + API_TOKEN + ‘/’, data);
}

Analizziamo le funzioni. La prima “getRandomArbitrary” genera un numero casuale tra un numero iniziale e finale. Nel nostro caso la richiameremo inviando i paramatri tra 2 e 7 cioè tra la seconda e la settima colonna del Foglio di Google.

La funzione “doGet” si collega al Foglio1 del nostro GoogleSheet (variabile ID_SPREADSHEET), crea una variabile stringa e all’interno di un ciclo che va da 1 a 11 escluso cioè dalla prima riga alla decima, alimenta la variabile con la concatenazione delle parole che trova per ogni riga e colonna casuale. (ho usato += che vuol dire appunto concatena al valore precedente).

Esempio prendo i valori delle cella A1 + B2 + A3 + C4 + D5+ E6 + F7 +  etc  e costruisco la “frase” casuale che apparentemente ha una forma pseudo corretta a tal punto da usare in qualche relazione scolastica ! 🙂

La sezione “/random” legge se l’utente nel Bot scrive la parola /random ed esegue la funzione di invio messaggio creando al solito un array payload dove il testo è generato nella funzione doGet() (la frase casuale) e lo invia tramite la creazione del secondo array data e quindi il link https://api.telegram.org/bot’ + API_TOKEN + ‘/’, data dove API_TOKEN è il token del vostro bot che avrete definito all’inizio del codice del vostro script, come da tutorial precedente.

Se salvate vi chiederà di autorizzare lo script ad accedere al Foglio Google. Dopo aver fatto ok finite di seguire il tutorial autorizzando Telegram ad usare il vostro script definito come applicazione web.

Beh ogni tanto ci si diverte ad usare il digitale anche per cose artistiche 🙂

Come dice Antonio Fini: Quando l'(auto)ironia incontra l’informatica.

PS: se volete provarlo, cercate su Telegram opendatamaterabot è il mio bot fuffa dove mi diverto a metterci dentro tante cose. Non troverete le istruzioni su come usarlo ma se leggete i miei post, volta per volta saprete che comando dare. Oggi avete imparato a dare il comando /random 🙂

Lic. CC-BY-SA Piersoft. (fate quello che volete ma citate questo post con link e permettete agli altri di fare altrettanto con quello che farete voi)

Codice in licenza MIT

Potrebbero interessarti anche...