How to Create a Twitter X Bot with NodeJS 2024

How to Create a Twitter X Bot with NodeJS 2024

Creating a Twitter bot can be a powerful way to automate your interactions, gather data, or just have some fun with Twitter. In 2024, one of the best ways to create a Twitter bot is using Node.js and the twitter-api-v2 package. This guide will walk you through the process of creating a functionally-ready bot from scratch.

Prerequisites

Before you start, ensure you have the following:

  1. Node.js: Make sure you have Node.js installed. You can download it from the official website.
  2. VSCode or something of your own preference, you can download it here.
  3. Twitter Developer Account: Sign up for a Twitter Developer account and create a project to get your API keys. (This assumes you have already got a Twitter account)

Creating and configuring a free Twitter X developer account

Step 1:

So, first of all, you must sign into your Twitter / X account. Once this is done, head over to the developer portal.

Step 2:

Sign up for the free account, see the screenshot below –

twitter developer portal - sign up

Step 3:

Next, you are required to describe what you will use the API for, it’s a minimum of 250 characters too. Think about what you will use it for, retweets, posting, etc, and add it to the text box. Once done, tick the boxes and submit,

Step 4:

Now that we’ve been accepted onto the developer platform, we want to ensure that the read & write API’s are exposed to us. Scroll down and find the User authentication settings and click ‘set up’.

Adjust the settings to look like the screenshot below –

configuring permissions

Step 5:

After being redirected to the OAuth information page, copy the OAuth client ID and secret and store it somewhere safe.

Step 6:

Head over to the Keys and tokens tab, generate your keys and tokens, and again, save them somewhere safe, see the screenshot below –

generating twitter dev x keys and tokens

Now that’s the boring stuff over with, we have everything we require to start coding, follow through the next steps to create the Twitter X bot.

Creating a Twitter X Bot with NodeJS

Step 1: Install Node.js and Initialize Your Project

First, you need to install Node.js. If you haven’t done this yet, download and install it from the Node.js website. Once installed, create a new directory for your project, for example C:/projects/twitterBot.

Open this project with VSCode, and open the terminal to initialize your project.

Enter the following command

npm init

Then fill out details to suit.

Step 2: Install the Twitter-API-V2 Package

The twitter-api-v2 package is a powerful and easy-to-use library for interacting with the Twitter API. Install it by utilizing the magic of npm install:

npm install twitter-api-v2

Step 3: Create the Bot

Create a file named bot.js in your project directory:

In bot.js, require the necessary modules and configure the Twitter API client, adding your saved app keys and tokens that you generated earlier:

const {TwitterApi} = require('twitter-api-v2');


const client = new TwitterApi({
    appKey: 'your-saved-appKey',
    appSecret: 'your-saved-app-secret',
    accessToken: 'your-saved-access-token',
    accessSecret: 'your-saved-access-token',
});

Step 5: Implement Bot Functionality

Now, let’s implement some basic functionality for your bot. For example, a bot that tweets a message saying “Test”:

We only now need to utilize one line of code to perform the tweet

const tweet = await client.v2.tweet("Test");

We need to wrap this into some async function

See the entire code below –

const {TwitterApi} = require('twitter-api-v2');


const client = new TwitterApi({
    appKey: 'your-saved-appKey',
    appSecret: 'your-saved-app-secret',
    accessToken: 'your-saved-access-token',
    accessSecret: 'your-saved-access-token',
});

async function myfunction() {
    (async () => {

        try {
            const tweet = await client.v2.tweet("Test");
            
            console.log('Tweet posted successfully:', tweet);

        } catch (error) {
            console.error('Error posting tweet:', error);
        }
    })();


    console.log('Inside of myfunction');
}


function start() {
    return myfunction();
}

// Call start
(async () => {
    console.log('before start');

    await start();

    console.log('after start');
})();

Step 6: Executing the bot

Now for the main event, open the terminal and run

node bot.js

You should get some type of response like the following in the console

Tweet posted successfully: {
  data: {
    edit_history_tweet_ids: [ '1814676773763695035' ],
    id: '1814676773763695035',
    text: 'Test'
  }
}

Now go ahead and check your Twitter X account, if everything is set up correctly, you should see a tweet saying “Test”.

Conclusion

Creating a Twitter bot in 2024 using Node.js and the twitter-api-v2 package is pretty straightforward and powerful. This guide covered the basics of setting up your environment, installing the necessary packages, and implementing basic bot functionality. From here, you can expand your bot with more advanced features such as sentiment analysis, automated direct messages, or even integrating with other APIs to fetch data.

By automating your Twitter interactions, you can engage with your audience more effectively and maintain an active presence on the platform with minimal effort. Happy coding!

I will be writing further articles on how to further advance the code written in this post, using more of its features, such as tweeting images and polls with posts.

Any questions, drop them in the comments.

Leave a Reply

Your email address will not be published. Required fields are marked *