Vor kurzem habe ich angefangen, mit Python zu spielen, deshalb wollte ich einen Twiiter-Bot als Ausgangspunkt erstellen.
Die Verwaltung des Servers nur zum Ausführen des Bots ist jedoch zu faul, daher habe ich einen erstellt, der mit AWS Lambda erstellt werden kann.
$ tree .
.
├── README.md
├── deploy.py
├── event.json
├── lambda.json
├── lib
│ └── __init__.py
├── mezamashidokei_character.png
├── requirements.txt
├── setup.py
└── tweet.py
Damit erstellt Hello World einen Twitter-Bot, der alle 30 Minuten die aktuelle Zeit twittert.
Es fühlt sich wie eine sogenannte Boilder-Platte an, da Sie damit alles vom Hochladen bis zum Planen von Einstellungen mit einem einzigen Befehl erledigen können.
Wenn Sie vorerst damit spielen, sollten Sie in der Lage sein, die Farbe der Bot-Entwicklung mit Lambda + Python zu lernen.
Das Problem ist vorerst das erste Setup.
--Erstellen Sie eine virtuelle Umgebung mit virtualenv
Leider müssen diese manuell durchgeführt werden. Ich denke jedoch, dass es viele Leute gibt, die AWS und VirtualEnv bereits eingerichtet haben, also ist es eigentlich nur die Twitter-App.
Lassen Sie uns ihn bitten, dies zu tun, während Sie sich verschiedene Links ansehen, und die dort in der ENV-Datei erhaltene ID und das Zugriffstoken festlegen.
--Beispiel von .env
# AWS settings
AWS_ACCOUNT_ID=12345678910
AWS_IAM_ROLE_NAME=lambda_basic_execution
AWS_REGION_NAME=ap-northeast-1
# Twitter account name
TWITTER_ACCOUNT_NAME=yamadatarou01234
# Twitter app consumer key, consumer secret
CONSUMER_KEY=hogehoge01234
CONSUMER_SECRET=fugafuga01234
# Twitter account tokens
ACCESS_TOKEN=nyannyan01234
ACCESS_TOKEN_SECRET=wanwan01234
# [Options] Virtualenv path
#Es kann hier leer sein
CUSTOM_VENV_PATH=
Installieren Sie danach die Abhängigkeit.
$ pip install -q -t ./lib -r ./requirements.txt
Geben Sie zu diesem Zeitpunkt den Befehl setup und ein
$ python setup.py
Ich habe es bereitgestellt.
$ python deploy.py
Upload?(y/n):y
Shedule?(y/n):y
Es wird in Ordnung sein und ein Konto wie dieses wird erstellt.
Nach der ersten Bereitstellung müssen Sie sie nur noch ändern und entwickeln.
Bei der lokalen Entwicklung können Sie dieselbe Umgebung wie Lambda lokal ausführen, indem Sie den folgenden Befehl eingeben.
$ python-lambda-local -f lambda_handler ./tweet.py ./event.json
Wenn Sie erneut bereitstellen möchten, können Sie es einfach hochladen, indem Sie den Befehl deploy eingeben.
$ python deploy.py
Account Name:your_twitter_bot_name
Upload?(y/n):y
Shedule?(y/n):n
Da die Bibliothek Tweepy verwendet, empfiehlt es sich, sich beim Lesen von API-Referenz auf das Erstellen von Bot zu konzentrieren.
Damit die Funktion Tweet / Retweet / Favorite / Refollow ausführen kann, habe ich tweet.py eine Funktion als Referenz hinzugefügt.
Es ist nicht gut, dass Sie sich nicht auf das konzentrieren können, was Sie wirklich mit der Bereitstellung und verschiedenen Einstellungen tun möchten. Das Schreiben und Entwickeln eines so einfachen Skripts macht also Fortschritte.
Recommended Posts