mirror of
				https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
				synced 2025-10-09 17:02:45 +02:00 
			
		
		
		
	up paths
This commit is contained in:
		
							parent
							
								
									895996cf6b
								
							
						
					
					
						commit
						8daf1e23e4
					
				
					 2055 changed files with 119377 additions and 31850 deletions
				
			
		|  | @ -0,0 +1,243 @@ | |||
| 
 | ||||
| :PROPERTIES: | ||||
| :ID:       685fe558-a0c0-45e5-9fd2-bd677315b3f6 | ||||
| :END: | ||||
| 
 | ||||
| #+title: fabriquer-des-bots-pour-mastodon | ||||
| #+post_ID: 1688 | ||||
| #+post_slug: fabriquer-des-bots-pour-mastodon | ||||
| #+post_url: https://www.ciperbliss.com/2023/fabriquer-des-bots-pour-mastodon | ||||
| #+post_title: Fabriquer des bots pour Mastodon | ||||
| #+post_tags: mastodon, script, bot, automatisation | ||||
| #+post_type: post | ||||
| #+post_mime_types:  | ||||
| #+post_guid: undefined | ||||
| #+post_status: publish | ||||
| #+post_date_published: <2023-03-28T10:49:48> | ||||
| #+post_date_modified: <2023-03-28T10:57:08> | ||||
| #+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9 | ||||
| #+retrieved_from_db_at: <2024-11-18 16:25:08> | ||||
| 
 | ||||
| 
 | ||||
| * Fabriquer des bots pour Mastodon | ||||
| :PROPERTIES: | ||||
| :CUSTOM_ID: fabriquer-des-bots-pour-mastodon | ||||
| :END: | ||||
|   | ||||
| 
 | ||||
| C'est assez simple de faire des bots pour Mastodon, il existe des tas de | ||||
| bibliothèques pour le faire dans des tas de langages différents. | ||||
| 
 | ||||
| On peut s'en servir pour accueillir les nouveaux inscrits, stimuler les | ||||
| découvertes de comptes, mettre en avant certaines thématiques en | ||||
| particulier, parler d'actualités, se lancer des défis, publier des | ||||
| images de memes, faire des rapports d'activité, détecter des activités | ||||
| potentiellement problématiques, et répondre à des questions en se | ||||
| faisant passer pour une intelligence artificielle. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Avant de se lancer dans l'aventure il faut faire en sorte de respecter | ||||
| certaines règles pour éviter de juste produire du spam ou de harceler | ||||
| des comptes. | ||||
| 
 | ||||
| Certaines entreprises sont spécialisées dans ces activités de spam à des | ||||
| fins politiques ou de nuisances en tout genre, tel que Cambridge | ||||
| Analytica et les fermes de trolls. | ||||
| 
 | ||||
| On peut donc créer des messages de bot très simples pour avoir un flux | ||||
| d'actu reflétant l'activité sur un jeu de données ouvertes, faire de la | ||||
| veille, enrichir ses connaissances et apporter de la vie et des échanges | ||||
| sur son média social. Mais chacune de ces tâches ne demande pas le même | ||||
| niveau de compétences techniques pour se faire. | ||||
| 
 | ||||
| Dans votre boîte à outils vous aurez besoin de: | ||||
| 
 | ||||
| - un carnet de notes pour savoir ce que vous voulez réaliser, et de | ||||
| faire en sorte que les publications que vous aller engendrer apportent | ||||
| quelque chose. | ||||
| 
 | ||||
| - avoir un compte Mastodon qui serve uniquement à cela. L'instance | ||||
| botsin.space est ouverte à ce type d'utilisation et encourage à y faire | ||||
| des essais, mais aussi de la mise en production. | ||||
| 
 | ||||
| - d'enregistrer votre application de bot auprès d'un compte Mastodon. | ||||
| 
 | ||||
| - de bibliothèques pour aller gratter des données qui vous seront | ||||
| utiles, dans vos langages de programmation favoris. | ||||
| 
 | ||||
| - de sources de données utiles. Sites web, textes, images, médias, | ||||
| documentation d'API. | ||||
| 
 | ||||
| - de fabriquer des utilitaires codés maison pour faire marcher tout ça | ||||
| ensemble et détecter les problèmes lors des publications. | ||||
| 
 | ||||
| - de documenter le tout pour maintenir vos scripts de bots. | ||||
| 
 | ||||
| - de pas mal de temps pour faire des essais et erreurs. | ||||
| 
 | ||||
| - de regarder quels services vous proposent de faire des publications | ||||
| qui pourraient vous intéresser sans avoir à coder vous même. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| À propos de complexité: | ||||
| 
 | ||||
| Simple, basique: | ||||
| 
 | ||||
| - dire Bonjour, Monde! | ||||
| 
 | ||||
| - publier quelque chose à heure fixe | ||||
| 
 | ||||
| - faire un résumé des articles d'un flux rss | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Modéré: | ||||
| 
 | ||||
| - accueillir les nouveaux inscrits depuis 24h avec un message privé | ||||
| mentionnant leur pseudo. | ||||
| 
 | ||||
| - publier une image au hasard prise dans un dossier et la déplacer dans | ||||
| un dossier d'images catégorisées comme publiées | ||||
| 
 | ||||
| - publier les infos de journées mondiales lors de la dite journée | ||||
| mondiale | ||||
| 
 | ||||
| - republier certains posts lors de l'apparition d'un post contenant | ||||
| certains termes | ||||
| 
 | ||||
| Complexe: | ||||
| 
 | ||||
| - faire un jeu dont on est le héros dont l'histoire avance selon un | ||||
| sondage publié auquel les autres gens participent. | ||||
| 
 | ||||
| - simuler la publication de quelqu'un d'autre en apprenant comment cette | ||||
| personne s'exprime | ||||
| 
 | ||||
| - réagir à une question en faisant une réponse pertinente | ||||
| 
 | ||||
| - créer un bot sur mesure ayant ses propres cycles de publication | ||||
| 
 | ||||
| - évaluer les penchants conspirationnistes d'un compte en fonction des | ||||
| analyses des comptes qu'il suit (analyse-ception) | ||||
| 
 | ||||
| - analyser les toots publiés et détecter des messages problématiques | ||||
| pour en faire un rapport aux modérateurs du site | ||||
| 
 | ||||
| - jouer et gagner à snake and ladders | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Quelques exemples dans lesquels vous pouvez puiser de l'inspiration et | ||||
| copier les sources: | ||||
| 
 | ||||
| - Ananas en Python :  [[https://pypi.org/project/ananas/][ananas · | ||||
| PyPI]] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Ce que j'ai réalisé comme scripts jusqu'ici: | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| - Republier un article de blog wordpress au hasard parmi une liste de | ||||
| tous les articles d'un blog, avec son titre et son résumé, avec la | ||||
| première image trouvée dans le corps de l'article. Beaucoup de | ||||
| publications passent à la trappe car elles sont captives d'un filtre sur | ||||
| les sites des GAFAM qui décident à votre place de qui sont les amis | ||||
| dignes de votre attention. Spoil: ceux qui permettent à la plateforme de | ||||
| maximiser ses gains. Rien de tout cela sur Mastodon qui est designé de | ||||
| sorte à ne pas capter entièrement votre attention. | ||||
| 
 | ||||
| - [[https://mastodon.cipherbliss.com/@meme][Un meme au hasard]] dans un | ||||
| dossier de sélection, un certain nombre de fois par jour, et sans jamais | ||||
| republier la même image. | ||||
| 
 | ||||
| - [[https://mastodon.cipherbliss.com/tags/rtfw][Publier une page | ||||
| présentant un tag du wiki openstreetmap]] en ne sélectionnant que son | ||||
| premier paragraphe, parmi les pages en français, et seulement si la page | ||||
| du wiki est en ligne, avec l'image attitrée du tag prise dans le wiki. | ||||
| 
 | ||||
| - [[https://mastodon.cipherbliss.com/@afis91][Publier les articles de | ||||
| l'AFIS]] sortis au cours des 7 derniers jours. | ||||
| 
 | ||||
| - [[https://mastodon.cipherbliss.com/tags/agenda][Publier les évènements | ||||
| dédiés à openstreetmap]] qui vont se produire dans les 7 prochains | ||||
| jours, à partir du flux RSS de l'agenda du libre, localisés uniquement | ||||
| en île de France. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Chacune de ces publications m'a permis de me constituer quelques | ||||
| utilitaires bien pratiques. | ||||
| 
 | ||||
| *** Quelques limites | ||||
| 
 | ||||
| Les choses trop datées, les informations débunkées, les liens publiés | ||||
| morts, les sources à gratter qui changent de structure, les scripts qui | ||||
| plantent sont autant de points d'attention à surveiller lors de la vie | ||||
| de vos scripts. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ** Va chercher! | ||||
| 
 | ||||
| Un accès à un compte par script permet de publier des choses, mais aussi | ||||
| de récupérer des informations de ces comptes, et notamment des messages | ||||
| privées et des notifications. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Ayant à gérer plusieurs comptes, je me suis heurté à l'ergonomie de | ||||
| Mastodon qui n'est pas faite pour la gestion de multi comptes. Ainsi, le | ||||
| seul moyen d'avoir une vue d'ensemble des interactions de différents | ||||
| comptes consistait à faire le tour avec différents logins, à utiliser | ||||
| une application mobile, ou un proxy en ligne en faisant confiance à je | ||||
| ne sais qui pour gérer mes accès. Et le logiciel Rambox qui semblait | ||||
| faire le café n'est pas si pratique. D'ailleurs je n'apprécie pas du | ||||
| tout qu'il demande maintenant d'avoir un compte pour l'utiliser, alors | ||||
| qu'il pouvait parfaitement s'en passer l'an dernier. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Je me suis donc lancé dans un petit projet de gestion multi compte qui | ||||
| permet d'interagir parmi plusieurs comptes dont j'aurai défini les accès | ||||
| en fichier de configuration. | ||||
| 
 | ||||
| Actuellement je peux cliquer sur l'avatar de plusieurs comptes pour | ||||
| changer l'identité qui publiera le message, écrire le message et | ||||
| l'envoyer. | ||||
| 
 | ||||
| J'ai aussi la possibilité d'avoir un rapport de tous les messages | ||||
| directs destinés à ces comptes, afin d'y répondre. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ** Y'a pas que pour Mastodon | ||||
| 
 | ||||
| Développer des choses pour faire des bots c'est bien beau, mais ça vous | ||||
| permet de réutiliser des données ailleurs et de contribuer au cycle de | ||||
| vie de la donnée ouverte. C'est un enjeu crucial pour la science | ||||
| reproductible, pour la cueillette et le jardinage dans OSM et ailleurs, | ||||
| mais c'est aussi super marrant. | ||||
| 
 | ||||
| Have fun! | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| [[https://forge.chapril.org/tykayn/multi-account-post-schedule-mastodon]] | ||||
| 
 | ||||
| 
 | ||||
| [[https://forge.chapril.org/tykayn/scripts]] | ||||
| 
 | ||||
|    | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tykayn
						Tykayn