![featured image](https://images.unsplash.com/photo-1536250853075-e8504ee040b9?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=2000&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ) I recently had a talk about what it would take to formally move to devops within the 9-5. From that talk I was told that I need more Azure experience so I now have a goal of getting comfortable in Azure like I am in AWS. Anyway I made a twitter bot using an Azure function so I\'m going to explain how to get this done and link the articles I used. ***P.S. Before I go forward s/o to everyone that stopped by my random zoom to chat and help me when I got stuck.*** Create and Azure account ------------------------ This part took the longest for me but you get \$200 credits for free for the first 30days so [signup](https://azure.microsoft.com/en-us/) (please). Once this process is complete we are going to build a bot that will retweet food to your timeline every 5mins. No worries you can delete all this when your done to save your credit. Function Setup -------------- This service is called `Function App` and once we are in we are going to hit the add button and pick the following things: Subsctription: *your subscription name* Resource Group: demo (or app name) Function App Name: foodie1 Publish: Code Runtime stack: Python ![copy of my screen setup like above](Screen-Shot-2020-01-11-at-11.05.49-AM.png) Then hit `Review + Create` and then `Create` Get Twitter Credentials ----------------------- I\'m not really going to walk through this but signup for a twitter api key [here](https://developer.twitter.com/). Once your in you want to create an app \> enter all the details they request \> details \> keys and tokens \> generate the access token and access token secret. Keep this page open and let\'s move back to Azure. Adding config variables ----------------------- Now that your resource is done building click `Go to resource` \> `Configuration`. At this point you need to have two windows with your twitter keys from the last step and the `Application settings` screen on Azure open. Enter the following Key:Value pairs CONSUMER_KEY:*your consumer key* CONSUMER_SECRET:*your consumer secret* ACCESS_TOKEN:*your access token* ACCESS_TOKEN_SECRET:*your access token secret* Code Time --------- Hit the name of your function from the top bar. Then hit the `New function` button. This should give you a quick start option. I suggest you go through this path for `VS Code` for the easiest way to complete this project. *This isn\'t really about the code so please trust me that this next part works.* Once you are setup in VS Code replace the `__init__.py` file with the following code: import os import tweepy import azure.functions as func def main(mytimer: func.TimerRequest) -> None: consumer_key = os.environ['CONSUMER_KEY'] consumer_secret = os.environ['CONSUMER_SECRET'] access_token = os.environ['ACCESS_TOKEN'] access_secret = os.environ['ACCESS_TOKEN_SECRET'] auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_secret) api = tweepy.API(auth, wait_on_rate_limit=True) #print to personal account foodie pics class MyStreamListener(tweepy.StreamListener): def on_status(self, status): api.retweet(status.id_str) def on_error(self, status_code): if status_code == 420: #returning False in on_data disconnects the stream return False myStreamListener = MyStreamListener() myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener) myStream.filter(track=['#foodie']) There should also be a requirements.txt file that should look like this: azure-functions tweepy Go ahead and hit that upload button. After successful upload keep an eye on your account to see the food pics! Welcome to the serverless bot world. 😎 ------------------------------------------------------------------------ Resources --------- - [Microsofts Docs](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure-function) - [Tweepy Docs](http://docs.tweepy.org/en/v3.5.0/getting_started.html) - [Configuration Variables](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings)