Tweem 0.1.5, plus stable et configurable qu'avant !

in #steemdev6 years ago

header2.png
Cliquez ici pour être redirigé vers la page GitHub de Tweem.

Une semaine est passée depuis l'annonce publique de Tweem, cette semaine je me suis concentré sur plusieurs des idées qui avaient été énoncées dans le premier post ainsi que sur d'autres qui me sont venues en codant. Je tiens à remercier @evildido pour m'avoir donné quelques idées intéressantes pour l'avenir de ce bot dont une qui a déjà été implémentée depuis. Pour ceux qui auraient raté l'annonce de ce projet, Tweem est un bot qui vous aide à partager vos articles et trouvailles facilement en tweetant automatiquement tout ce que vous postez et/ou resteemez. Les bots peu configurables sont assez frustrants, c'est pourquoi je mets un poing d'honneur à rendre Tweem le plus configurable possible. Vous aurez d'ailleurs l'occasion de voir le long de ce post que la plupart des ajouts et changements ont été fait avec cette idée de liberté totale de configuration en tête.

Un nouveau système de template !

La liberté de modification de vos tweets était assez limitée jusqu'à la version 0.1.3 de Tweem, c'est pourquoi un système de template a été introduit dans la version 0.1.4. Avec ce système en place, les paramètres include_title et include_tags sont devenus obsolètes et ont par conséquent été enlevés. Par contre, une nouvelle propriété template a été ajoutée au fichier config. Cette propriété est expliquée dans le fichier README et accompagnée de quelques exemples. Le système de balisage n'est qu'un prototype et sera probablement modifié dans une prochaine mise à jour étant donné qu'il est assez compliqué à lire et comprendre. (commit)

Plus d'options pour les comptes suivis !

Avec la sortie publique de Tweem s'est présenté un problème auquel je n'avais pas pensé. Certains utilisateurs voulaient tweeter leurs posts et resteems mais aussi tweeter les posts d'autres utilisateurs. Seulement, ils ne voulaient pas tweeter les resteems de ces utilisateurs, ce qui était impossible avec la manière dont fonctionnait Tweem. Ce problème a été réglé dans la version 0.1.5 en séparant la liste steem_accounts en deux listes: posts et resteems. Tout utilisateur dont vous souhaitez tweeter les posts devra être placé dans posts. Si vous souhaitez plutôt tweeter ses resteems, il devra être placé dans resteems. Bien-sûr, vous pouvez mettre un même utilisateur dans les deux listes si vous voulez tweeter à la fois ses posts et ses resteems. (commit)

Filtrez les applications que vous ne voulez pas tweeter !

Merci @evildido pour cette excellente suggestion ! Tweem offrait deux possibilités auparavant lorsqu'il s'agissait de tweeter un post venant d'une application autre que Steemit. Soit le lien créé renvoyait vers Steemit, soit il renvoyait vers l'application avec laquelle le post avait été écrit. Ce choix était fait par l'utilisateur pour chaque application via le paramètre allowed_links dans le fichier config. Il est maintenant aussi possible de demander au bot de ne pas tweeter du tout pour certaines applications. Cela se fait toujours via le paramètre allowed_links qui a été renommé allowed_apps afin de refléter les changements apportés. Mettre un indice de 0 à une application signifie qu'on ne veut pas tweeter, 1 signifie qu'on veut tweeter avec un lien vers le site utilisé par défaut par Tweem et 2 signifie qu'on veut tweeter avec un lien vers le post sur l'application avec laquelle il a été écrit. (commit)

Choisissez un autre site à utiliser par défaut !

Certains d'entre vous préféreraient que leurs liens redirigent vers Busy (par exemple) plutôt que Steemit, c'est pourquoi un paramètre default_app a été ajouté au bot. Ce paramètre vous permet de définir l'application que Tweem utilisera pour les posts dont l'application est inconnue ou a un indice de 1 dans allowed_apps. Vous ne pouvez pas donner n'importe quelle valeur à ce paramètre, il faut qu'elle corresponde au label d'une des applications permettant de lire n'importe quel post. Vous pouvez trouver les applications disponibles dans le fichier README sous la section "Supported apps". Les applications valides pour default_app sont celles ayant un "✓" gras dans la case correspondant à la colonne "Viewing". (commit)

Évitez les doublons !

Avec la séparation des utilisateurs suivis en deux catégories est apparu un problème auquel je n'avais pas vraiment pensé. Il arrivait qu'un compte suivi poste un article et qu'un autre resteem ce même article. Les deux comptes étant suivis, le bot se contentait simplement de tweeter le même post deux fois sans trop y faire attention. Afin d'éviter ça, une propriété twitter_handle a été ajoutée au fichier config. Vous devez y mettre votre nom d'utilisateur Twitter afin d'éviter de poster des doublons. Avant même de traiter un post, le bot s'assure à présent que celui-ci n'a pas déjà été tweeté en utilisant l'API de recherche de Twitter pour trouver tout tweet provenant du compte spécifié dans twitter_handle et contenant un lien vers le post à traiter. Si au moins un tweet est trouvé, Tweem s'arrête là, sinon il traite le post comme il le faisait avant. La fonction écrite pour éviter les doublons est un prototype. Il se pourrait que vous tweetiez quand même un lien déjà tweeté auparavant. Il n'y a par contre aucun risque que vous ne tweetiez pas un lien si c'est la première fois que vous le partagez. (commit 1 - commit 2)

Moins de crashs, moins de problèmes !

Le système de stream précédemment utilisé par Tweem n'était pas assez stable. Il arrivait souvent au stream de crasher à cause d'erreurs provenant des nodes utilisés. Il était auparavant nécessaire d'utiliser des full nodes car ils renvoyaient des informations complètes sur chaque post contrairement aux low memory nodes. Malheureusement, ceux-ci semblent être les moins stables, c'est pourquoi une modification du processus de streaming était nécessaire. À présent, des low memory nodes sont utilisés pour le streaming, ce qui rend l'application beaucoup plus stable, et les informations des posts sont ensuite obtenues grâce à des full nodes. De cette manière, si une erreur provient d'un full node, il n'est plus nécessaire de relancer le stream, il suffit juste de renvoyer une requête à un autre node. (commit)

Les nouveaux arrivants

Tous les jours je traque le tag #steemdev à la recherche d'applications que j'aurais manqué afin de les ajouter à la liste d'applications supportées par Tweem. Depuis le dernier post, neuf applications ont été ajoutées à la liste et une a été supprimée. Voici un tableau des changements apportés à la liste.

+/-SiteLabelDescriptionPublierLire
+BlockDealsblockdealsA Community Platform for Bargain Hunters and Deal Spotters.
-dManiadmaniaGagnez de l'argent avec des memes, des images et vidéos amusantes.
+HedehedeKnowledge Sharing Dictionary.
+InsteeminsteemDecentralized News by Independent Journalists.
+Memeit.LOLmemeit.lolA creative platform you can use to create your own meme and post it on the Steem Blockchain.
+mTasksmTasksA Fiverr like platform built on top of STEEM Blockchain.
+OnePlaceoneplaceWeb-application based on Steem and Golos blockchains.
+SteemdsteemdA blockchain explorer for the STEEM blockchain.
+SteemDBsteemdbBlock explorer and database for the STEEM blockchain.
+SteemThinksteemthinkYou Ask - We Answer - Share Knowledge.

Si vous avez créé un site permettant de lire des posts qui ne se trouve pas dans la liste "Supported apps" du fichier README, faites m'en part dans les commentaires de ce post !

À venir

  • Plus d'applications supportées: Uneeverso, Strimi, SteemGigs, SteemLinked, Coogger et BlockPress.
  • Un système de template plus simple: le système actuel est beaucoup trop compliqué.
  • Un tutoriel écrit pour faire tourner votre bot: ce tutoriel sera précis et ciblé pour les personnes n'y connaissant rien à JSON et/ou au déploiement d'applications sur Heroku. Promis, je le sors ce week-end !
  • Un traitement particulier des posts à la Twitter: les short posts de Busy, Zappl...
  • Une gestion des resteems avec citation: quand ils seront disponibles sur Steem.
  • Partager sur d'autres applications que Twitter: Facebook, Reddit...
Vous pouvez trouver cette liste modifiée en temps réel sur l'onglet "Projects" de la page GitHub de Tweem.

Contributions

Si vous voulez contribuer à ce projet ou m'avertir d'un de ses problèmes, n'hésitez pas à visiter sa page GitHub. Vous pouvez aussi le cloner et suivre les instructions disponibles sur GitHub pour le faire tourner correctement. Mes réseaux sociaux sont listés à la fin du fichier README si vous voulez me contacter. Si vous m'ajoutez sur Steam, veuillez expliquer la raison de votre ajout sur mon mur, je risque de vous refuser dans le cas contraire.

Footer

Si vous avez aimé ce post et souhaitez en voir davantage, n'oubliez pas d'upvote, de me follow et de me resteem !

Sort:  

Félicitations ! Votre post a été sélectionné de part sa qualité et upvoté par le trail de curation de @aidefr !

La catégorie du jour était : #dev


Si vous voulez aider le projet, vous pouvez rejoindre le trail de curation ici !

Bonne continuation !

Bravo pour ton travail !

Et un upvote à 100% pour vous récompenser de l'ensemble de votre travail ! Upvoté à 100% !

Merci beaucoup ! :D

Super complet, merci pour l'info 👍

Pas de soucis ! ;)

I think it is a very good

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.034
BTC 66095.77
ETH 3184.92
USDT 1.00
SBD 4.12