How to make a Twitter Bot in Python?
Twitter is an American microblogging and social networking service on which users post and interact with messages known as “tweets“. In this article we will make a Twitter Bot using Python.
Python as well as Javascript can be used to develop an automatic Twitter bot that can do many tasks by its own such as:
- Retweets the tweets with particular #hastags.
- Favourites/Likes the tweets with particular #hashtags.
- Follows the users who tweets with particular #hashtags.
- Can also DM the users if granted with the permission.
Requirements
Install Tweepy
For all this we will need a Python library called Tweepy for accessing the Twitter API. We can install tweepy in three ways:
1. Using pip command
$ pip install tweepy
2. Clone the GitHub repository of tweepy
$ git clone https://github.com/tweepy/tweepy.git $ cd tweepy $ pip install
3. Cloning the repository directly
$ pip install git+https://github.com/tweepy/tweepy.git
Sign up for Twitter Developer Account
- Sign up for a separate account for your Twitter Bot and then apply for Twitter Developer Account following this link https://developer.twitter.com/en/apply-for-access
- Enter the necessary details and await for your mail confirmation. Once confirmed, click on Create an App option.
- Enter the necessary details to generate the secret key and access tokens.
- Copy the keys and keep them safe.
Developing the Twitter Bot
Make a file twitterbot_retweet.py and paste the following code.
Python3
import tweepy from time import sleep from credentials import * from config import QUERY, FOLLOW, LIKE, SLEEP_TIME auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) print ( "Twitter bot which retweets, like tweets and follow users" ) print ( "Bot Settings" ) print ( "Like Tweets :" , LIKE) print ( "Follow users :" , FOLLOW) for tweet in tweepy.Cursor(api.search, q = QUERY).items(): try : print ( '\nTweet by: @' + tweet.user.screen_name) tweet.retweet() print ( 'Retweeted the tweet' ) # Favorite the tweet if LIKE: tweet.favorite() print ( 'Favorited the tweet' ) # Follow the user who tweeted # check that bot is not already following the user if FOLLOW: if not tweet.user.following: tweet.user.follow() print ( 'Followed the user' ) sleep(SLEEP_TIME) except tweepy.TweepError as e: print (e.reason) except StopIteration: break |
Now make another file to specify what should your bot do. Name it config.py
Edit the #hashtag according to your choice and the like or follow option to either True or False.
Python3
# Edit this config.py file as you like # This is hastag which Twitter bot will # search and retweet You can edit this with # any hastag .For example : '# javascript' QUERY = '# anything' # Twitter bot setting for liking Tweets LIKE = True # Twitter bot setting for following user who tweeted FOLLOW = True # Twitter bot sleep time settings in seconds. # For example SLEEP_TIME = 300 means 5 minutes. # Please, use large delay if you are running bot # all the time so that your account does not # get banned. SLEEP_TIME = 300 |
Next make a file credentials.py and paste your access tokens carefully in between the single quotes ‘ ‘.
Python3
# This is just a sample file. You need to # edit this file. You need to get these # details from your Twitter app settings. consumer_key = '' consumer_secret = '' access_token = '' access_token_secret = '' |
Deployment
Run the twitterbot_retweet.py file from your Command Prompt/Terminal with this command.
$ python twitterbot_retweet.py
And it works!!
Contact Us