** Cet article a été publié le 23 novembre 2019. ** **
Bonjour. C'est @kosukeobata. Récemment, il y a beaucoup de titres comme PdM et marketer, mais depuis que l'ingénierie a repris, je posterai un peu ridicule.
Cette fois, je décrirai comment créer un BOT qui avertit Slack lorsqu'un mot spécifique est murmuré sur Twitter. Ce n'est pas très beau sur GitHub, mais comme le code source est ouvert au public, je pense que vous pouvez le faire en vous y référant. https://github.com/kosukeobata/twitter-bot
--Slack notification lorsqu'un mot spécifique est publié sur Twitter
Utilisez le module complémentaire programmé de Heroku pour rechercher sur Twitter toutes les 10 minutes. Toutes les publications qui sont capturées seront notifiées au Slack spécifique que vous spécifiez.
À ce moment-là, le plus grand identifiant de tweet parmi les tweets acquis est enregistré dans sqlite3. En recherchant uniquement les tweets dont la taille est supérieure à l'ID enregistré lors de la prochaine exécution, le partage d'ID de tweet en double sera éliminé.
Inscrivez-vous sur https://developer.twitter.com/ et faites une demande d'utilisation. Veuillez noter que cela prend du temps entre la demande et l'approbation. Voir Qiita ici pour plus de détails. Résumé des procédures depuis l'enregistrement de l'API Twitter (méthode de demande de compte) jusqu'à l'approbation * Informations en août 2019
Inscrivez-vous sur https://jp.heroku.com/. Il n'y a rien de particulièrement difficile, donc je pense que vous pouvez le faire en douceur.
Une fois que vous avez créé un compte, créons une instance. Dans cet article, par exemple, le nom de l'instance est "qiita-katsuo". Donc, en ce qui concerne la partie de qiita-katsuo qui apparaît dans cet article, je pense qu'il y a un nom que vous vous êtes donné, alors veuillez le remplacer par ce nom et lisez la suite.
Il y a divers articles Qiita ici aussi, alors veuillez vous y référer. Utiliser les webhooks entrants de Slack Une fois que vous obtenez l'URL qui commence par "https://hooks.slack.com/services/", vous avez terminé.
$ git clone [email protected]:kosukeobata/twitter-bot.git
### 5. Ajoutez le fichier config.py
Puisqu'il s'agit d'un fichier qui décrit le jeton d'accès, etc., il n'est pas téléchargé sur GitHub.
Veuillez ajouter le fichier vous-même.
Ce n'est pas grave si le fichier est comme suit.
―― Les quatre premiers sont les paramètres de l'API Twitter.
--WEB_HOOK_KEY est le paramètre du Webhook de Slack.
--Pour SEARCH_KEYWORD, spécifiez le mot-clé que vous souhaitez publier lorsqu'il est marmonné sur Twitter.
--Pour CHANNEL_NAME, spécifiez le nom de la chaîne pour laquelle vous souhaitez être notifié par Slack.
CONSUMER_KEY = "" CONSUMER_SECRET = "" ACCESS_TOKEN = "" ACCESS_TOKEN_SECRET = "" WEB_HOOK_KEY = "" SEARCH_KEYWORD = "" CHANNEL_NAME = "#*********"
À ce stade, vous pouvez l'exécuter localement.
Si vous souhaitez tester localement, exécutez d'abord la commande suivante pour préparer l'environnement local.
** Installer pip **
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py --user
$ export PATH="
** Demande d'installation **
```$ pip install requests requests_oauthlib --user```
** Courir **
#### **`$ python get_twitter_data.py`**
```py
### 6. Déployer sur Heroku
Déployez sur l'instance créée à l'étape 2.
Tout d'abord, l'authentification de connexion est effectuée dans le terminal, puis l'instance est liée, puis transmise à heroku.
$ heroku login $ git init $ heroku git:remote -a qiita-katsuo $ git add . $ git commit -am "make it better" $ git push heroku master
### 7. Enregistrez le programme dans Heroku.
Avec le module complémentaire Schedular, vous pourrez effectuer une recherche sur Twitter toutes les 10 minutes.
Ce n'est pas en temps réel, mais je pense que ce n'est pas grave si c'est aussi fréquent.
Tout d'abord, ajoutez le module complémentaire en appuyant sur la commande suivante dans le terminal.
#### **`$ heroku addons:create scheduler:standard --app qiita-katsuo`**
Ensuite, vous pouvez enregistrer le programme à partir de l'écran heroku. https://dashboard.heroku.com/apps/qiita-katsuo/scheduler Spécifiez la commande suivante comme Job à spécifier.
$ python get_twitter_data.py
Ceci termine les réglages.
Si vous souhaitez modifier d'autres petits paramètres, veuillez les régler petit à petit.
Recommended Posts