Burocrati, Amministratori, wegan
509
contributi
m (menu (grazie Vitt!)) |
m (→Codifica: pseudo-fix) |
||
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
'''Tuipi''' è un simpatico programmello [[Tecnopolitica|tecnopolitico]] sbarazzino, | '''Tuipi''' è un simpatico programmello [[Tecnopolitica|tecnopolitico]] sbarazzino, che sviluppiamo connettere le lotte di piazza con la Rete. Scritto prevalentemente in linguaggio Python, Tuipi utilizza le [https://dev.twitter.com/overview/api API di Twitter] interfacciandosi con la libreria [http://docs.tweepy.org tweepy]. | ||
Il codice sorgente di Tuipi [https://git.eigenlab.org/rakk/tuipi si trova] sul nostro repository [[GitLab|Git]]. | Il codice sorgente di Tuipi [https://git.eigenlab.org/rakk/tuipi si trova] sul nostro repository [[GitLab|Git]]; devi registrarti e poi chiedere di essere inseritx nel gruppo di sviluppo. Questa precauzione (che sembra contrastare con i princìpi di [[OpenSource|apertura]]) ci è necessaria per evitare l'assorbimento dei nostri algoritmi da parte di twitter e altri [[Big data]], che abbasserebbe drasticamente l'efficacia del nostro lavoro; speriamo di giungere presto ad un livello di maturità del codice e di condivisione di valori e scopi nel suo utilizzo che ci permetta di fornire accesso incondizionato a tuttx. | ||
= | = Creare un bot = | ||
Un | Un robot<ref>Dallo slavo ''rabota'', "servitù".</ref> è una macchina che lavora al posto tuo. Probabilmente vuoi creare altri account Twitter fittizi (bot) '''diversi''' dal tuo account personale perché | ||
* non ti piace lavorare; | * non ti piace lavorare, e ti alletta l'idea di una macchina che ti permette di ottenere grandi risultati con poco sforzo; | ||
* Twitter [https://support.twitter.com/articles/93870 non vede di buon occhio] l'attività robotica e a volte può sospendere, bloccare o terminare degli account che considera sospetti: non vuoi che questo succeda col tuo account personale. | * Twitter [https://support.twitter.com/articles/93870 non vede di buon occhio] l'attività robotica e a volte può sospendere, bloccare o terminare degli account che considera sospetti: non vuoi che questo succeda col tuo account personale. | ||
Inoltre Twitter [https://dev.twitter.com/rest/reference/get/application/rate_limit_status limita] il numero di operazioni che è possibile fare in un quarto d'ora | Inoltre Twitter [https://dev.twitter.com/rest/reference/get/application/rate_limit_status limita] il numero di operazioni che è possibile fare in un quarto d'ora attraverso le API; Tuipi però supera questa limitazione supportando un numero arbitrario di account gestiti in sincrona armonia con i loro limiti attuali. La partecipazione di tanti account aumenta la "potenza di fuoco" durante un [[tweetstorm]] e migliora anche la capacità di analisi che puoi sviluppare; ma ti rende anche più difficile gestire tanti account con precisione: comincia prima usando un solo robot, e poi aumenta gradualmente senza farti prendere la mano. | ||
[[File:Twitter-profile-rakk g.jpg|miniatura|Il profilo [http://twitter.com/rakk_g @rakk_g] è gestito da 14 persone, più o meno umane.]] | [[File:Twitter-profile-rakk g.jpg|miniatura|Il profilo [http://twitter.com/rakk_g @rakk_g] è gestito da 14 persone, più o meno umane.]] | ||
Riga 57: | Riga 57: | ||
Non abbiamo ancora scritto un manuale, però il codice è ben documentato: usa la funzione <code>help()</code> su un oggetto per capire cosa è, come funziona, come usarlo, etc. | Non abbiamo ancora scritto un manuale, però il codice è ben documentato: usa la funzione <code>help()</code> su un oggetto per capire cosa è, come funziona, come usarlo, etc. | ||
Se non si vogliono manipolare gli script a mano, Tuipi offre un'interfaccia interattiva semplificata con lo script <code>simple.py</code>; per lanciarla apri un terminale, spostati (con il comando <code>cd</code>) nella directory dove risiede il programma e lancia lo script in modo interattivo col comando <code>python -i simple.py</code>: | |||
<pre> | <pre> | ||
gianna@epta ~/src/tuipi (git)-[master] % python -i simple.py | gianna@epta ~/src/tuipi (git)-[master] % python -i simple.py | ||
Riga 93: | Riga 93: | ||
Scelta: | Scelta: | ||
</pre> | </pre> | ||
== Problemi == | |||
Per usare Tuipi hai bisogno di Python, versione 3 o superiore. | |||
=== Codifica === | |||
Se ottieni un errore simile a <code>tweepy.error.TweepError: Failed to send request: 'str' object has no attribute 'decode'</code>, o altri segnali che qualcosa di malvagio sta accadendo a causa della codifica del testo, una cosa che talvolta funziona (p.e. con la distribuzione Debian) è installare la libreria Tweepy attraverso pip, anziché tramite il pacchetto sui repository. | |||
= Appunti sparsi = | = Appunti sparsi = | ||
Tuipi consta di un tot di scriptini in Python che usano la libreria [http://tweepy.readthedocs.io tweepy], che a sua volta si interfaccia con la [https://dev.twitter.com/ API di Twitter]. Settando adeguatamente i permessi, funziona sia in lettura (per analisi, statistiche, preparazione delle strategie, etc.) che in scrittura (twittando, ritwittando, mettendo il cuoricino, DM, follow/unfollow, media upload, cambio impostazioni, etc.); si può usare sia l'interfaccia REST che quella di streaming, quest'ultima molto utile nelle applicazioni in tempo reale. | Tuipi consta di un tot di scriptini in Python che usano la libreria [http://tweepy.readthedocs.io tweepy], che a sua volta si interfaccia con la [https://dev.twitter.com/ API di Twitter]. Settando adeguatamente i permessi, funziona sia in lettura (per analisi, statistiche, preparazione delle strategie, etc.) che in scrittura (twittando, ritwittando, mettendo il cuoricino, DM, follow/unfollow, media upload, cambio impostazioni, etc.); si può usare sia l'interfaccia REST che quella di streaming, quest'ultima molto utile nelle applicazioni in tempo reale. | ||
== Altre risorse == | |||
* Tuipi automatizza il possibile, ma non tutto; ha bisogno comunque di una supervisione umana (tranne che per le funzioni di calendarizzazione) e la qualità dei risultati finali dipende molto dalla cura con cui si preparano i dati di partenza. È utile farsi un'idea della dinamica che si sta affrontando anche con altri strumenti come [[Gephi]] o [https://support.twitter.com/articles/354008 la ricerca avanzata] di Twitter. | * Tuipi automatizza il possibile, ma non tutto; ha bisogno comunque di una supervisione umana (tranne che per le funzioni di calendarizzazione) e la qualità dei risultati finali dipende molto dalla cura con cui si preparano i dati di partenza. È utile farsi un'idea della dinamica che si sta affrontando anche con altri strumenti come [[Gephi]] o [https://support.twitter.com/articles/354008 la ricerca avanzata] di Twitter. | ||
* Un [https://dev.twitter.com/resources/twitter-libraries elenco] di librerie supportate da Twitter | |||
* Curl esteso con OAuth: [https://github.com/twitter/twurl qui] | |||
* [https://dev.twitter.com/rest/reference/post/media/upload media upload] e [https://github.com/tweepy/tweepy/issues/724 upload multipli] | |||
* [https://dev.twitter.com/rest/reference/get/trends/place reference] per l'acquisizione geolocalizzata dei trending topics | |||
= Wishlist = | = Wishlist = | ||
Riga 107: | Riga 117: | ||
[[Categoria:Tecnopolitica]] | [[Categoria:Tecnopolitica]] | ||
[[Categoria:HowTo]] |