Creating a Twitter bot with Node.js

Learn how you can create your own Twitter bot using Node.js and the new Twitter API. The bot will auto retweet in response to tweets with some particular hashtags.

Recently I’ve created a Twitter bot called Sofia (@digitalsofia) that can answer to your @mention queries, tweet a new word a day with its meaning and part of speech and retweet in response to the tweets with #technology and #design. Setting up the bot wasn’t very difficult but I noticed there weren’t many tutorials out there. Therefore, here, I’m going to show you how to create a twitter bot with the help of Node.js.

Getting started

Twitter bots can even do some interesting things. For example, if you tweet questions like “who is the first man on the moon” to @digitalsofia and the bot will @reply with the answer.

What we are building

Tools we need

To create applications on your Twitter account, you need to verify it using a mobile phone number. For that, you can use your own phone number or, if you have a Google account, create one using Google Voice. I highly recommend you create a new Twitter account, as bot activity often gets banned from Twitter. You likely don’t want that happening to your personal account.

Create a Twitter application

  1. Once the Twitter application has been created, click the Keys and Access Tokens tab and click the Create my Access Token button. Twitter will generate the Consumer Keys and Access tokens that we will need in a later step.

Initialize the Twitter bot

  1. In the bot.js file, edit the values of TWITTER_CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN and ACCESS_SECRET— you know them all from the previous steps.
  2. Set the TWITTER_SEARCH_PHRASE and all matching tweets will get processed by the Twitter bot, one at a time.

Test the bot

  1. Type “npm install” in the terminal and required packages will be automatically installed on your system, provided you’ve internet connection.
  2. Type “npm start” or “node bot.js” to start the bot and if you get the message “The bot is running…” in the terminal, that’s good. The bot is listening for tweets coming in. You can even hop to your Twitter bot account to check whether the bot is working or not.

Final words

(This article is published here.)

Programmer. Engineer. Dreamer. Kravist. #ProudIndian

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store