So during Pure kickoff last week I did several sessions on Pure Storage and Kubernetes for our yearly Tech Summit. It was very fun to prepare for. I wanted to do something different and I decided to take my py-bot I was running on my raspberry pi and up-level with integration into K8s and the FlashBlade with PVC’s. This first post is to just go over the python code and how it works and what you need to do to get it working for yourself.
Check out the repo on github: https://github.com/2vcps/python-twitter-bot
Py-Bot
This is a Twitterbot. Built to run on Kubernetes and also uses Pure Service Orchestrator for persistent data.
Take a look at the code in ./bots
- autoreply.py – code to reply to mentions
- config.py – sets the API connection
- followFollowers_data.py – Follows anyone that follows you, then writes some of their recent tweets to a CSV on a pure-file FlashBlade filesystem
- followFollowers.py – All the followback with no data collection
- tweet_game_score.py – future
- tweet_game_setup.py – future
Testing the code on your machine
Prereqs
- python3
- twitter account with API keys
- Pure Service Orchestrator and working Kubernetes
Step 1$ pip install -r requirements.txt
Step 2
Create env variables for each key. The config.py will pull from the local OS. In this case your local machine.export CONSUMER_KEY='some key'
export CONSUMER_SECRET='some secret'
export ACCESS_TOKEN='some token'
export ACCESS_TOKEN_SECRET='some token secret'
For the autoreply.py and favretweet.py you need a search key too.export SEARCH_KEY='the thing I search for'
Be careful, if you are testing the favretweet.py program and use a common word for search you will see many many likes and retweets.
Step 3
Run the code.If all is working you will see logs and action on twitter.
$ python ./bots/autoreply.py
Example output: INFO:root:API createdINFO:root:Retrieving mentions INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:1222564855921758209 INFO:root:Searching for purestorage kubernetes INFO:root:Retrieving mentionsINFO:root:1222564855921758209 INFO:root:Waiting...
It will continue to run so hit control-C to exit.
Now it is time to impress your boss and use big words like kubernetes. Read on in the next post below about how to run this bot as a deployment in kubernetes.
Go to the next level:
Run py-bot in Kubernetes
Good stuff, Jon!