** Dieser Artikel wurde am 23. November 2019 veröffentlicht. ** ** **
Hallo. Dies ist @kosukeobata. In letzter Zeit gibt es viele Titel wie PdM und Vermarkter, aber da das Engineering wieder aufgenommen wurde, werde ich ein wenig lächerlich posten.
Dieses Mal werde ich beschreiben, wie man einen BOT erstellt, der Slack benachrichtigt, wenn ein bestimmtes Wort auf Twitter gemurmelt wird. Es ist auf GitHub nicht sehr schön, aber da der Quellcode für die Öffentlichkeit zugänglich ist, denke ich, dass Sie ihn erstellen können, während Sie darauf verweisen. https://github.com/kosukeobata/twitter-bot
Verwenden Sie das geplante Add-On von Heroku, um alle 10 Minuten nach Twitter zu suchen. Alle Beiträge, die abgefangen werden, werden an den von Ihnen angegebenen Slack benachrichtigt.
Zu diesem Zeitpunkt wird die größte Tweet-ID unter den erfassten Tweets in sqlite3 gespeichert. Wenn nur Tweets durchsucht werden, die größer sind als die bei der nächsten Ausführung gespeicherte ID, wird die Freigabe doppelter Tweet-IDs beseitigt.
Registrieren Sie sich unter https://developer.twitter.com/ und beantragen Sie die Verwendung. Bitte beachten Sie, dass es vom Antrag bis zur Genehmigung einige Zeit dauert. Siehe Qiita hier für Details. Zusammenfassung der Verfahren von der Registrierung der Twitter-API (Kontoantragsmethode) bis zur Genehmigung * Informationen ab August 2019
Registrieren Sie sich unter https://jp.heroku.com/. Es gibt nichts besonders Schwieriges, also denke ich, dass Sie es reibungslos machen können.
Nachdem Sie ein Konto erstellt haben, erstellen wir eine Instanz. In diesem Artikel lautet der Instanzname beispielsweise "qiita-katsuo". In Bezug auf den Teil von Qiita-Katsuo, der in diesem Artikel vorkommt, denke ich, dass es einen Namen gibt, den Sie sich selbst gegeben haben. Bitte ersetzen Sie ihn durch diesen Namen und lesen Sie weiter.
Es gibt auch hier verschiedene Qiita-Artikel. Bitte beziehen Sie sich auf diese. Verwenden Sie Slacks eingehende Webhooks Sobald Sie die URL erhalten haben, die mit "https://hooks.slack.com/services/" beginnt, sind Sie fertig.
$ git clone [email protected]:kosukeobata/twitter-bot.git
### 5. Fügen Sie die Datei config.py hinzu
Da es sich um eine Datei handelt, die Zugriffstoken usw. beschreibt, wird sie nicht auf GitHub hochgeladen.
Bitte fügen Sie die Datei selbst hinzu.
Es ist in Ordnung, wenn die Datei wie folgt ist.
――Die vier wichtigsten sind die Twitter-API-Einstellungen.
--WEB_HOOK_KEY ist die Einstellung von Slacks Webhook.
- Geben Sie für SEARCH_KEYWORD das Schlüsselwort an, das Sie beim Murmeln auf Twitter veröffentlichen möchten.
- Geben Sie für CHANNEL_NAME den Kanalnamen an, den Sie von Slack benachrichtigen möchten.
CONSUMER_KEY = "" CONSUMER_SECRET = "" ACCESS_TOKEN = "" ACCESS_TOKEN_SECRET = "" WEB_HOOK_KEY = "" SEARCH_KEYWORD = "" CHANNEL_NAME = "#*********"
Zu diesem Zeitpunkt können Sie es lokal ausführen.
Wenn Sie lokal testen möchten, führen Sie zuerst den folgenden Befehl aus, um die Umgebung lokal vorzubereiten.
** Pip installieren **
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py --user
$ export PATH="
** Installationsanforderung **
```$ pip install requests requests_oauthlib --user```
** Lauf **
#### **`$ python get_twitter_data.py`**
```py
### 6. In Heroku bereitstellen
Bereitstellung auf der in Schritt 2 erstellten Instanz.
Zuerst wird die Anmeldeauthentifizierung im Terminal durchgeführt, dann wird die Instanz verknüpft und dann an heroku gesendet.
$ heroku login $ git init $ heroku git:remote -a qiita-katsuo $ git add . $ git commit -am "make it better" $ git push heroku master
### 7. Registrieren Sie Ihren Zeitplan bei Heroku.
Mit dem Add-On "Zeitplan" können Sie alle 10 Minuten nach Twitter suchen.
Es ist nicht in Echtzeit, aber ich denke, es ist in Ordnung, wenn es so häufig ist.
Fügen Sie zunächst das Add-On hinzu, indem Sie den folgenden Befehl im Terminal ausführen.
#### **`$ heroku addons:create scheduler:standard --app qiita-katsuo`**
Anschließend können Sie den Zeitplan auf dem Heroku-Bildschirm registrieren. https://dashboard.heroku.com/apps/qiita-katsuo/scheduler Geben Sie den folgenden Befehl als anzugebenden Job an.
$ python get_twitter_data.py
Damit sind die Einstellungen abgeschlossen.
Wenn Sie andere kleine Einstellungen ändern möchten, stellen Sie diese bitte nach und nach ein.