Bot Twitter & Base de données

Bonjour,

Je suis actuellement en train de travailler sur un bot Twitter similaire au Tweety Pi. Histoire de faire un peu de Python et de SQL. Le bot est ici @PapibotRevillon

Et j’aurais besoin de votre aide pour remplir ma base de données. En effet, en ces périodes de fêtes et de grandes consommations de chocolats et autres friandises, vous allez certainement voir passer des papillotes Révillon. Celles-ci ont la particularité d’avoir une citation / un proverbe en plus du chocolat mais qui souvent une fois lu(e) part à la poubelle avec l’emballage.

Serait-il possible de me les mettre de côté s’il vous plaît, histoire de faire vivre un bot twitter qui n’a pour le moment pas grand chose à se mettre sous la dent? Samedi, je mettrais une boite à l’ACoLab.

Merci beaucoup.

Martin

  • La plus perdue de toutes les journées et celle où l’on n’a pas ri ( Nicolas de Chamfort )

  • Appuyer-vous sur les principes, ils finiront bien par céder! ( Oscar Wilde )

  • Le veinard est celui qui arrive à tout: Le malchanceux est celui à qui tout arrive. ( Eugène Labiche )

  • Pour faire taire autrui, commence par te taire. ( Sénèque )

  • Un tiens vaut, se dit-on, mieux que deux tu l’auras: l’un est sûr, l’autre ne l’est pas. ( la Fontaine )

  • L’erreur n’annule pas la valeur de l’effort accompli. ( Proverbe Africain )

  • Les papillons ne sont que des fleurs envolées un jour de fête où la nature était en veine d’invention et de fécondité. ( George Sand )

  • L’amour n’est pas seulement un sentiment, il est un art aussi. ( Honoré de Balzac )

  • De toutes les passions, la seule vraiment respectable me paraît être la gourmandise. ( Guy de Maupassant )

  • Il faut toujours se réserver le droit de rire le lendemain de ses idées de la veille. ( Napoléon Bonaparte )

  • Curiosité n’est que vanité. Le plus souvent. on ne veut savoir que pour en parler. ( Blaise Pascal )

  • Celui qui pose une question risque cinq minutes d’avoir l’air bête. Celui qui ne pose pas de question restera bête toute sa vie . ( Proverbe Chinois )

  • Un bon croquis vaut mieux qu’un long discours. ( Napoléon Bonaparte )

  • Si vous voulez que l’on garde votre secret, le plus sûr est de le garder vous-même. ( Sénèque )

  • Que celui qui n’a pas traversé ne se moque pas de celui qui s’est noyé. ( Proverbe Africain )

  • Parole. Si l’on ne disait que des choses utiles, il se ferai un grand silence dans le monde. ( Alvare Sanchez de Moncades )

  • L’homme aimable est celui qui écoute en souriant les choses qu’il sait, dites par quelqu’un qui les ignore. ( Alfred Capus )

  • Il ne suffit pas d’avoir du talent. Il faut encore savoir s’en servir. (Alphonse Allais )

  • La jeunesse de l’Amérique est sa plus vieille tradition: elle dure depuis 300 ans. ( Oscar Wilde )

  • Qui parle sème: qui écoute récolte. ( Pythagore )

  • Point n’est besoin d’élever la voix quand on a raison. ( Proverbe Chinois )

  • Il y a beaucoup de gens dont la facilité de parler ne vient que de l’impuissance de se taire. ( Cyrano de Bergerac )

  • Ceux qui cherchent des causes métaphysiques au rire ne sont pas gais. ( Voltaire )

  • Une pensée est une idée de passage. ( Pythagore )

  • L’humour est une disposition d’esprit qui fait qu’on exprime avec gravité des choses frivoles et avec légèreté des choses sérieuses. ( Alfred Capus )

  • Prouver que j’ai raison serait accorder que je puis avoir tort. ( Beaumarchais )

  • Rien n’est jamais fermé, sinon tes propres yeux. ( Proverbe Persan )

  • La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue lorsqu’on les poursuit. ( Oscar Wilde )

  • La vie ressemble à un conte; ce qui importe ce n’est pas sa longueur, mais sa valeur. ( Sénèque )

  • La colère est comme une avalanche qui se brise sur ce qu’elle brise. ( Sénèque )

  • Bien-être: état d’esprit produit par la contemplation des ennuis d’autrui. ( Ambrose Bierce )

  • L’art, c’est le reflet que renvoie l’âme humaine éblouie de la splendeur du beau. ( Victor Hugo )

  • Les hommes de génie sont des météores destinés à brûler pour éclairer leur siècle. ( Napoléon Bonaparte )

  • Amour, amour, quand tu nous tiens, on peut dire: adieu prudence. ( La Fontaine )

  • Il y a des moments ou tous réussi, il ne faut pas s’effrayer ça passe. ( Jules Renard )

  • Chocolat: Un C aprice H onteux et O nctueux que l’on C roque en toute O ccasion avec L égèreté, A mour et T endresse. ( Anonyme )

  • Hâtes-toi de vivre et songe que chaque jour est à lui seul une vie . ( Sénèque )

  • Il n’y a rien de plus triste qu’une vie sans hasard. ( Honoré de Balzac )
    La jeunesse est une ivresse continuelle; c’est la fièvre de la santé; c’est la folie de la raison.
    La Rochefoucauld

  • Si les cieux pleurent, la terre vivra - Proverbe Hawaïen

  • J’ai décidé d’être heureux, c’est meilleur pour la santé - Voltaire

  • Qui ne peut comme il veut, doit vouloir comme il peut . - Térence

  • La sagesse, c’est d’avoir des rêves suffisamment grands pour ne pas les perdre de vue lorsqu’on les poursuit.- Oscar Wilde

  • Le désordre est simplement l’ordre que nous ne cherchons pas. - Henri Bergson

  • Les paroles sages tombent quelquefois dans l’oreille d’un sourd ; mais un mot gentil n’est jamais perdu. - Arthur Helps

  • Il y a trois sortes de savoir : Le savoir proprement dit, le savoir-faire et le savoir-vivre; les deux derniers dispensent assez bien du premier. -Talleyrand

  • La vie ressemble à un conte; ce qui importe, ce n’est pas sa longueur mais sa valeur. - Sénèque

  • Il est vraiment rare qu’on se quitte bien, car si on était bien, on ne quitterait pas. - Marcel Proust
    “Etre jeune, c’est avoir un esprit qui calcule et un coeur qui ne calcule pas.” René Bazin
    “Je crois beaucoup en, la chance, et je constate que plus je travaille, plus elle me sourit.” T. Jefferson
    “Savoir pour prévoir, afin de pouvoir.” Auguste Comte

“Notre plus grande gloire n’est pas de ne jamais tomber, mais de nous relever chaque fois.” Confucius

“Pour les femmes, la douceur est le meilleur moyen d’avoir raison.” Madame de Maintenon

“Rire à chaude larmes, pleurer à se tordre.” Jules Renard

“Si votre coeur est une rose, votre bouches dira des mots parfumés.” Proverbe russe

“Ce que nous prévoyons arrive rarement; ce à quoi nous nous attendions le moins se produit souvent.” B. Disraeli

“Il n’est pas de plus lourd fardeau que d’avoir trop de désir.” Lao Zi

“La rose n’a d’épine que pour celui qui veut la cueillir.” Proverbe chinois

“Le génie commence les beaux ouvrages, mais le travail seul les achève.” Joseph Joubert

“Pour entretenir l’amour, il faut savoir faire preuve d’imagination au quotidien”

“Bonne cuisine et bon vin, c’est le paradis sur terre.” Henri IV

“Si vous voulez que vos rêves se réalisent, ne dormez pas.” Proverbe juif

“Une lecture amusante est aussi utile à la santé que l’exercice du corps.” Emmanuel Kant

“N’allez pas là où le chemin peut mener. Allez là où il n’y a pas de chemin et laissez une trace.” Ralph Waldo Emerson

“La franchise ne consiste pas à dire tout ce que l’on pense , mais à penser tout ce que l’on dit.” Proverbe tchadien

“L’accent circonflexe est l’hirondelle de l’écriture.” Jules Renard

“L’idéal de l’amitié c’est de se sentir un et de rester deux.” Anne Sophie Swetchine

“Un homme sans culture, tel un chat sans moustache, se sent perdu!”

“Si on veut connaitre un peuple, il faut écouter sa musique” Platon

“Les plus beaux mots du monde ne sont que des sons inutiles si vous ne pouvez pas les comprendre.” Anatole France

“Le veinard est celui quiarrive à tout; le malchanceux est celui à qui tout arrive.” Eugène Labiche

“Les chats sont des êtres faits pour emmagasiner la caresse.” Stéphane Mallarmé

“Tu ne peux empêcher les oiseaux de la tristesse voler au-dessus de ta tête, mais tu peux les empêcher de faire leur nid dans tes cheveux.” Proverbe chinois

“Chaque coup de colère est un coup de vieux, chaque sourire est un coup de jeune.” Proverbe chinois

“La parole a été donné à l’homme pour déguiser sa pensée.” Talleyrand

“Le passé, l’avenir, ces deux moitiés de vie dont l’une dit jamais et l’autre dit toujours.” Alphonse de Lamartine

“Une épine d’expérience vaut toute une brousse d’avertissements.” James Russell Lowell

“Il y a des larmes d’amour qui dureront plus longtemps que les étoiles du ciel.” Charles Péguy

“L’art sauvera le monde.” Fiodor Dosto?evski

“La modestie est le meilleur appât pour aller à la pêche aux compiments.” Gilbert Keith Chesterton

“La nature fait les hommes semblables, la vie les rend différents.” Confucius

“Années de cerises rouges met le rire sur les bouches.” Dicton français

“L’âge auquel on partage tout est généralement l’âge où on n’a rien.” Alphonse Karr

“Une erreur originale vaut mieux qu’une vérité banale.” Fiodor Dosto?evski

@oliv merci beaucoup! Je vais bien m’amuser à tout ajouter ce soir!

Dans la liste, il y a déjà ma préférée (que j’ai affichée au boulot) :
“Ce que nous prévoyons arrive rarement; ce à quoi nous nous attendions le moins se produit souvent.” B. Disraeli

Tu peux la mettre au boot celle là !!! :smiley: :smiley: :smiley:

Le ven. 14 déc. 2018 à 10:53, Martin noreply-forum@acolab.fr a écrit :

Merci à vous!

Maintenant que le bot a de quoi “manger” dans sa BDD et qu’il arrive à tweeter, j’aurais besoin d’aide pour rendre tout ça plus automatique…

Le coeur du programme est écrit en python et j’ai rajouté un time.sleep() dans une boucle while True, pour le faire dormir jusqu’au prochain tweet. La question que je me pose, c’est la robustesse du truc. J’ai tenté de passé par la crontable mais ça n’a pas l’air de fonctionner comme je le voudrais. Quelqu’un aurait-il des pistes svp?

Je ne suis pas sûr de comprendre tout le process de ton script python.
Ceci dit, si ton but est de déclencher un tweet tout X temps, j’opterais pour la librairie “sched” https://docs.python.org/2/library/sched.html.
L’idée n’est pas de le faire dormir, mais plutôt de le réveiller :wink:

tu peux utiliser crontab -e pour éditer tes tâches automatiques et ajouter une ligne
*/5 * * * * ton_script.py pour lancer l’exécution toutes les 5 min

Si tu fais ça, bien sûr tu dois enlever le while True…

Je vais retenter peut-être que mon écriture n’était pas la bonne.

Bon le crontab -e c’est pas encore ça.
Mon script peut être executé par tous (chmod a+x main.py) et il se situe directement dans mon home directory (comme j’avais une carte sd de 2go sous la main, le pi zero w tourne sous raspian stretch lite (sans bureau ni interface graphique)).
Il tweet manuellement : je peux le lancer avec un ./main.py et le résultat est bien tweeté.

Des print peuvent ils empécher le crontable de lancer l’exécution ? Je vais pousser mon code sur github dès la semaine pro.

Est-ce que ton script est terminé à la fin du tweet ? (process tué ?)

Oui quand je le lance manuellement, je peux revenir à la console et le process est bien tué. Il tourne pas en boucle en tout cas.

As-tu bien mis le chemin complet vers ton script dans crontab ?

Ce qui donnerai quelque chose comme ça (pour compléter la proposition de @etienne)
*/5 * * * * /home/pi/main.py

Le service cron est-il bien actif ?
service cron status

Merci à tous pour votre aide!

Le problème a été résolu grâce à @mike que je remercie encore une fois. Le principal problème venait du fait que je lançais le crontab avec sudo, cela pouvait cause des soucis avec les fichiers .json que j’utilise pour me connecter à la BDD et à Twitter.

Maintenant le bot @PapibotR est actif et tweetera à 8h, 12h, 16h et 20h.

Je vais profiter des vacances pour nourrir la BDD et pousser le code en v1 sur github. Et voir pour faire des améliorations.

1 « J'aime »

tu viens de gagner un follower :wink:

1 « J'aime »

@Manon merci! Avec deux followers, le bot va casser Twitter!