Skip to content

arthurcouyere/twitter-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

twitter-bot

Tweete les mots du slip de la langue française du slip. Largement inspiré par le @botducul (lexique identique, mais code en Python) et le @botsupervnr.

Poste sur @botduslip.

Stocke la position du dernier mot tweeté dans une base Redis.

Environnement de développement

Pré-requis

Installer Redis pour le stockage de dernier mot tweeté.

Créer un compte twitter développeur et créer une application depuis https://developer.twitter.com/en/portal/projects-and-apps.

Générer ensuite l'API key et le secret associé ainsi qu'un access token et le secret associé (voir configuration ci-dessous).

Configuration

Pour l'authentification Twitter, créer un fichier .env contenant les variables d'environnement suivantes :

REDIS_URL=redis://localhost:6379/0
CONSUMER_KEY=### API KEY
CONSUMER_SECRET=### API KEY SECRET
ACCESS_KEY=### ACCESS TOKEN
ACCESS_SECRET=### ACCESS TOKEN SECRET

Le script charge automatiquement le fichier s'il est présent sauf si les variables d'environnement sont déjà définies (utilisation de python dotenv).

Environnement de production

Pré-requis

Installer le package heroku

sudo snap install --classic heroku

Déploiement initial

Pour déployer la 1ère fois l'application sur Heroku depuis Ubuntu, se placer dans le répertoire ou a été cloné le dépot git et lancer les commandes suivantes :

heroku login
heroku apps:create botduslip
heroku addons:create heroku-redis:hobby-dev -a botduslip
git push heroku main
heroku ps:scale clock=1

Pour voir les logs :

heroku logs --tail --source app --dyno clock

Pour savoir quelle est la dernière position de mot dans la base Redis :

export REDIS_URL=$(heroku config -a botduslip | grep REDIS_URL | awk '{print $2}')
redis-cli -u $REDIS_URL get twitter-bot.last_pos

Déploiements suivants

Pour mettre à jour l'application sur Heroku :

heroku ps:scale clock=0
git push heroku main
heroku ps:scale clock=1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published