Open In App

How to make a Twitter Bot in Python?

Last Updated : 22 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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!!



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads