This tutorial and its materials were put together by Robin Davis (@robincamille) and Mark Eaton (github.com/MarkEEaton) for a December 15, 2015 workshop for librarians sponsored by the LACUNY Emerging Technologies Committee. You can use these materials for your own whimsical bot; the following instructions are for our workshop.
See also: Davis, Robin, and Mark Eaton. Make a Twitter Bot in Python: Iterative Code Examples. Journal of Interactive Technology and Pedagogy (Blueprints section). April 2016. (Verbose write-up featuring code in this repository.)
👉 2018 update: We updated our bot tutorial for an ALA 2018 workshop. It uses Python 3.
Python version: 2.7
Required libraries: tweepy, setuptools, json, urllib2 or urllib3
See the "Download ZIP" button toward the upper right? Click it and save the folder to your desktop.
Go to http://twitter.com and sign up for a new account of your choosing.
Go to http://apps.twitter.com and create a new app
Copy Consumer Key/Secret and Access Key/Secret to credentials.py
This script is a basic Twitter bot. It will tweet three things from a list inside the script.
Right-click on mybot.py and select Edit with IDLE
Take a look at the script; Robin and Mark will talk about what it's doing
Select Run > Run Module from the window's menu bar
Change it up!
This script sends out five tweets from the first five lines of an external .txt file.
Right-click on mybot.py and select Edit with IDLE
Right-click on twain.txt and open it in Notepad
Take a look at both files; Robin and Mark will talk about what the script is doing
Select Run > Run Module from the window's menu bar for mybot2.py
Change it up!
This script treats The Red Wheelbarrow as a mad-lib, filling in three blanks from two data sources: JSON files from @dariusk's collection of corpora.
This script from Mark tweets a random line from a .txt file whenever @jasonchowbot tweets.
This script uses a Markov chain to create new sentences from another text, and tweets them.
Consider hosting your bot so it can tweet happily all by itself! If you happen to have DreamHost, I wrote up a step-by-step tutorial for hosting your bot: see put-your-bot-on-DreamHost.md.