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.
Creating a twitter bot with #Nodejs from @DebashisBarman https://t.co/bVmXWXZBlF
— Node.js (@nodejs) January 28, 2016
Twitter Bot : Getting started
A Twitter bot is a program that is always running in the background and can perform some sort of automation on the Twitter microblogging service, such as automatically follow Twitter users, automatically retweets in response to tweets that include a certain word or phrase, or posting @replies, etc.
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
What we’re going to build here is a simple Twitter bot that sends a search query to the Twitter API, receives a response containing the results of our search, and then retweets the most recent tweet returned. In my case, I set my bot to search for tweets containing either #technology or #design.
Tools we need
Here are the tools we’ll be using to create the bot —
- Node.js installed in your machine
- A Twitter account
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
- Create a new account at Twitter that will become your bot. Then go to apps.twitter.com, sign-in with your new Twitter account and create a Twitter application. Give your application a name, description and put any URL in the website field. Keep the callback URL field blank, agree to the terms and submit the form to create your first Twitter application.
- 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
- Click here to get the source code and download it to your machine. Make sure the source code includes package.json and bot.js.
- In the bot.js file, edit the values of
ACCESS_SECRET— you know them all from the previous steps.
- Set the
TWITTER_SEARCH_PHRASEand all matching tweets will get processed by the Twitter bot, one at a time.
Test the bot
- Open your terminal and go to the directory where you have downloaded the source files — both
npm installin the terminal to install all the required packages on your system, provided you’ve internet connection.
node bot.jsto 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.
You can check out my bot on Twitter, and you can find the code on GitHub. If you need help in customizing your Twitter bot, or are trying to build a more complex Twitter bot, contact me here.