twitter-bot-bootstrap
twitter-bot-bootstrap copied to clipboard
Template for creating a twitter bot using python (twython) and heroku
This is a template for creating your own twitter bot using python and heroku. The only programming necessary is to update the function get_message()
in app.py
to create your bot's tweets.
Also, if you'd like to randomly favorite other users' tweets by keyword search, uncoment the call to random_favoriting()
in main()
, and change the keywords to those you'd like to search for.
Confused? Try reading this. Or contact me @jehosafet.
Requirements
-
python
- Install Twython (
pip install Twython
): for generating/posting tweets in python app
- Install Twython (
- heroku
Instructions
-
Fork and pull this repo.
-
In your local repo, create a new heroku app.
-
heroku create --stack cedar
-
heroku apps:rename YOUR_APP_NAME
- Your heroku app will now keep the python script
app.py
running as often as possible.
-
-
Create a new twitter account.
- Use your current email to create the account by adding a tag.
- Confirm the email address associated with this new twitter account.
-
From your main twitter account (not the one you just created, unless this is your first twitter account!) create a new twitter app.
- Under Settings / Application Type:
- Enable "Read and Write"
- Check "Allow this application to be used to Sign in with Twitter"
- Under Details:
- Click "Create My Access Token"
- Connect this app to your bot's twitter acount (help here)
-
$ gem install twurl
-
$ twurl authorize --consumer-key "REPLACE_THIS" --consumer-secret "REPLACE_THIS"
-
- When
twurl
asks you to go to a url to log-in, now use the bot account you just created.
- Under Settings / Application Type:
-
Create an
.env
file containing your twitter keys.-
twurl
generated some keys for your new bot account. You can find these in~/.twurlrc
. - In your local repo, create a file called
.env
that contains these twitter app keys, one per line:-
TWITTER_CONSUMER_KEY=replace_this
-
TWITTER_CONSUMER_SECRET=replace_this
-
TWITTER_OAUTH_TOKEN=replace_this
-
TWITTER_OAUTH_TOKEN_SECRET=replace_this
-
- For heroku, use
heroku-config
to copy contents of.env
to your heroku app.- Install heroku-config:
heroku plugins:install heroku-config
. - Now run
heroku config:push
.- NOTE: To update heroku environment variables later, run
heroku config:push --overwrite
- Alternatively, add heroku environment variables manually using
heroku config:set YOUR_ENV_VAR=replace_this
- NOTE: To update heroku environment variables later, run
- Install heroku-config:
-
Okay, now here's the fun part:
-
Update the function
get_message()
inapp.py
to create your bot's tweets.- Read about twitter bot etiquette for bot guidelines.
- Use the wordnik api for getting random parts of speech.
-
Test your bot locally.
- Running
foreman start
should generate your tweets once every minute, or at whatever rate you set inapp.py
.
- Running
-
Commit and push local changes to heroku and github.
-
git push heroku master
pushes all commits to heroku and starts up your app. - Your bot should now tweet as long as your heroku app is running (via the worker dyno).
-