J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7

Récemment, j'ai commencé à jouer avec Python, donc je voulais créer un Twiiter Bot comme point de départ.

Cependant, gérer le serveur uniquement pour exécuter le Bot est trop paresseux, j'en ai donc créé un qui peut être créé avec AWS Lambda.

$ tree .
.
├── README.md
├── deploy.py
├── event.json
├── lambda.json
├── lib
│   └── __init__.py
├── mezamashidokei_character.png
├── requirements.txt
├── setup.py
└── tweet.py

Avec lui, Hello World créera un bot Twitter qui tweetera l'heure actuelle toutes les 30 minutes.

Cela ressemble à ce que l'on appelle une plaque chauffante car elle vous permet de tout faire, du téléchargement à la planification des paramètres avec une seule commande.

Si vous jouez avec cela pour le moment, vous devriez pouvoir apprendre la couleur du développement de Bot avec Lambda + Python.

Comment utiliser

Pour le moment, le plus gênant est la première configuration.

--Créez un environnement virtuel avec virtualenv

Malheureusement, cela doit être fait manuellement. Cependant, je pense que de nombreuses personnes ont déjà configuré AWS et VirtualEnv, il ne s'agit donc en fait que de l'application Twitter.

Eh bien, demandons-lui de le faire en regardant divers liens, et définissons l'ID et le jeton d'accès obtenus dans le fichier .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
#Il peut être vide ici
CUSTOM_VENV_PATH=

Après cela, installez la dépendance.

$ pip install -q -t ./lib -r ./requirements.txt

Une fois que vous atteignez ce point, tapez la commande de configuration et

$ python setup.py

Je l'ai déployé.

$ python deploy.py
Upload?(y/n):y
Shedule?(y/n):y

Tout ira bien et un compte comme celui-ci sera créé.

kako-cWQSOOdiY3DhN8yM.png

Après ça

Après le premier déploiement, il ne vous reste plus qu'à le modifier et à le développer.

Lors du développement local, vous pouvez exécuter le même environnement que lambda localement en tapant la commande suivante.

$ python-lambda-local -f lambda_handler  ./tweet.py ./event.json

De plus, si vous souhaitez déployer à nouveau, vous pouvez facilement le télécharger en tapant la commande deploy.

$ python deploy.py
Account Name:your_twitter_bot_name
Upload?(y/n):y
Shedule?(y/n):n

Puisque la bibliothèque utilise Tweepy, il est bon de se concentrer sur la création de Bot en lisant API Reference.

En ce qui concerne la fonction permettant d'effectuer Tweet / Retweet / Favorite / Refollow, j'ai ajouté une fonction à tweet.py pour votre référence.

Il n'est pas bon que vous ne puissiez pas vous concentrer sur ce que vous voulez vraiment faire avec le déploiement et divers paramètres, donc l'écriture et le développement d'un script aussi simple progresseront.

Recommended Posts

J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
Étapes pour créer un bot Twitter avec Python
[AWS] Créez un environnement Python Lambda avec CodeStar et faites Hello World
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
J'ai écrit un bot Slack qui notifie les informations de retard avec AWS Lambda
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
J'ai créé un robot pour publier sur Twitter en grattant sur le Web un site dynamique avec AWS Lambda (suite)
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
Je veux AWS Lambda avec Python sur Mac!
Créez rapidement un tableau de bord d'analyse de données Python avec Streamlit et déployez-le sur AWS
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
[AWS] J'ai essayé de créer un environnement Python avec un environnement de développement eb [Elastic Beanstalk]
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
Créez un environnement virtuel avec Python!
J'ai écrit un script pour vous aider à démarrer avec AtCoder à grande vitesse!
Essayez de créer un environnement python avec Visual Studio Code et WSL
J'ai créé un bot Twitter avec Go x Qiita API x Lambda
J'ai écrit une fonction pour charger le script d'extension Git en Python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
J'ai écrit un script pour extraire les liens de pages Web en Python
[Python] J'ai écrit une API REST en utilisant AWS API Gateway et Lambda.
[Pour Python] Créez rapidement un fichier de téléchargement vers AWS Lambda Layer
Comment créer une API de machine learning sans serveur avec AWS Lambda
[Python] Créez un environnement virtuel avec Anaconda
Je veux créer un environnement Python
Je veux jouer avec aws avec python
Connectez-vous à s3 avec AWS Lambda Python
Faisons un bot Twitter avec Python!
J'ai essayé de supprimer régulièrement les mauvais tweets avec l'API AWS Lambda + Twitter
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
J'étais accro à la création d'un environnement Python venv avec VS Code
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Development] (2/3)
Procédure de création d'un environnement virtuel Python avec VS Code sous Windows
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
[Aux messieurs sur Twitter] J'ai écrit un script pour convertir immédiatement .jpg-large en .jpg.
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python
Créer un bot Twitter Trend avec heroku + Python
Créer un LINE BOT avec Minette pour Python
Je veux créer une fenêtre avec Python
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Je veux faire un jeu avec Python
Créer un environnement virtuel avec conda avec Python
[Python] Créer un environnement de développement Django avec Docker
Créer un environnement de construction python3 avec Sublime Text3
LINE BOT avec Python + AWS Lambda + API Gateway
J'ai écrit un script pour télécharger un plug-in WordPress
Créez rapidement un environnement Python Django avec IntelliJ
Je veux écrire dans un fichier avec Python
Créer un environnement d'exécution Python sur IBM i
[Note] Comment créer un environnement de développement Mac
Made Mattermost Bot avec Python (+ Flask)
Obtenez un environnement de développement Python rapide avec Poetry