THIS REPOSITORY IS ARCHIVED!
At the time of writing, it's been five years since I've touched this. It surprises me that people still find it!
A Python framework for creating interactive Twitter bots! CURRENTLY SUPER BETA. MAYBE EVEN ALPHA.
** HIGHLY EXPERIMENTAL USE AT YR OWN RISK **
Due to dependencies on Tweepy, twitterbot only supports Python 2.7 and not Python 3. Sorry :(
I recommend setting it up in a virtualenv, because, well, yeah.
mkdir bots && cd bots virtualenv-2.7 venv && source venv/bin/activate pip install tweepy git clone https://github.com/thricedotted/twitterbot.git cd twitterbot && python setup.py install && cd ..
Cool! you're ready to start using twitterbot!
Follow Steps 3-5 of this bot tutorial to create an account and obtain credentials for your bot.
Copy the template folder from
twitterbot/examples/templateto wherever you'd like to make your bot, e.g.
cp -r twitterbot/examples/template my_awesome_bot.
Open the template file in
my_awesome_botin your favorite text editor. Many default values are filled in, but you MUST provide your API/access keys/secrets in the configuration in this part. There are also several other options which you can change or delete if you're okay with the defaults.
on_timelineare what define the behavior of your bot, and deal with making public tweets to your timeline, handling mentions, and handling tweets on your home timeline (e.g., from accounts your bot follows) respectively.
Some methods that are useful here:
self.post_tweet(text) # post some tweet self.post_tweet(text, reply_to=tweet) # respond to a tweet self.favorite(tweet) # favorite a tweet self.log(message) # write something to the log file
Remember to remove the
NotImplementedErrorexceptions once you've implemented these! (I hope this line saves you as much grief as it would have saved me, ha.)
Once you've written your bot's behavior, run the bot using
python mytwitterbot.py &(or whatever you're calling the file) in this directory. A log file corresponding to the bot's Twitter handle should be created; you can watch it with
tail -f <bot's name>.log.
examples folder for some silly simple examples.