Avant de commencer quoi que ce soit, il est important de connaître les règles d’utilisation de Twitter et son API, et de prendre en compte le fait que votre compte peut à tout moment être suspendu en cas d’abus d’utilisation de ce genre de script, nous vous conseillons de vous limiter à un seul script par compte, et de valider votre compte avec votre numéro de téléphone pour éviter la suspension.
Installation de NodeJS
Nous ne nous attarderons pas sur l’installation de NodeJS, Marina a déjà fait un article sur les étapes d’installation. Le tutoriel a évolué depuis, mais les instructions restent pratiquement les mêmes. Dans notre cas, nous utiliserons la version 8.9.1 de NodeJS, une version stable qui intègre quelques nouveautés pour la plateforme JavaScript côté serveur.
Créer une application Twitter
Pour souhaiter automatiquement la bienvenue à vos nouveaux followers sur Twitter, nous allons utiliser l’API Twitter. Pour cela, rendez-vous sur apps.twitter.com et créez votre première application (Create New App).
Remplissez le formulaire en saisissant le nom de l’application, une description, le site Internet de l’application (je vous conseille d’ajouter votre compte Twitter). Vous pouvez laisser vide le champ de l’URL « callback ».
Une fois l’application créée, rendez-vous sur l’onglet « Permissions » et cochez la case « Read, Write and Access direct messages » puis cliquez sur « Update Settings » pour valider le changement.
Une fois les permissions changées, rendez-vous sur l’onglet « Keys and Access Tokens » et cliquez sur « Create my access token » pour créer un jeton d’accès à l’API pour cette application. Notez ensuite les « credentials » de l’API :
- Consumer Key (API Key)
- Consumer Secret (API Secret)
- Owner ID
- Access Token
- Access Token Secret
Développer le script
Tout d’abord, créez un répertoire sur votre ordinateur, et ajoutez-y un fichier principal, appelez-le server.js ou index.js par exemple.
Il faut d’abord installer une librairie nécessaire à l’utilisation de l’API Twitter, cette librairie s’appelle twit et est disponible sur Node Package Manager (NPM).
Pour installer cette librairie, il suffit de saisir cette ligne de commande dans votre console Windows/Linux/Mac :
npm install twit
Une fois la librairie installée, il suffit de l’inclure dans votre projet. Pour cela, ajoutez cette ligne de code dans votre fichier principal :
const Twit = require(‘twit’)
Ensuite, il faut instancier cette librairie et utiliser les « credentials » précédemment notés.
const twitter = new Twit({ consumer_key: ‘xxx’, consumer_secret: ‘xxx’, access_token: ‘86598245-xxx’, access_token_secret: ‘xxx’, timeout_ms: 60*1000 })
Remplacez évidemment les « xxx » par les « credentials » que vous avez au préalable noté dans un fichier ou sur un bout de papier.
Nous allons maintenant utiliser l’API Streaming de Twitter afin d’être notifié en temps réel des nouveaux abonnés (followers).
twitter.stream(‘user’).on(‘user_event’, (follow) => { // Instruction d’envoi du message privé })
Comme vous pouvez le voir, nous utilisons la variable précédemment déclarée « twitter », et nous utilisons dessus la méthode « stream », puis nous utilisons la méthode « on » pour détecter les « events » (événements) sur « user_event », voici quelques « events » disponibles :
- blocked
- unblocked
- favorite
- unfavorite
- follow
- unfollow
Nous utiliserons donc l’événement « follow » pour détecter les nouveaux followers sur votre compte.
const user_id = follow.source.id_str const screen_name = follow.source.screen_name if(user_id !== ‘86598245’) { // Instruction d’envoi du message privé }
N’oubliez pas de remplacer « 86598245 » par votre identifiant de compte précédemment noté (Owner ID).
Dans cette quelques lignes de code, nous stockons en variable l’ID et le nom d’utilisateur (Twitter handle) du compte repéré lors de l’événement « follow », cela peut être une personne qui vous suit, ou bien vous qui suivez une personne sur Twitter. Il est donc important de vérifier que vous ne vous envoyez pas un message de bienvenue à vous-même, pour cela, vous devrez ajouter une condition (if) : user_id n’est pas égal à votre « Owner ID ».
Ensuite, il faut utiliser la méthode « post » sur l’API « direct_messages/new » :
twitter.post(‘direct_messages/new’, { user_id: user_id, text: “Ceci est un message de bienvenue ?” }, (error, data, response) => { console.log(‘Message de bienvenue envoyé à ‘ + screen_name) })
Vous avez désormais toutes les clés en main pour générer des messages de bienvenue à vos nouveaux followers, vous pouvez utiliser la variable screen_name pour citer la personne dans votre message privé.