twtrbot

1.0.2 • Public • Published

TwtrBot

Twtrbot is a simple Node module wrapper that allows developers to build a Twitter bot via the Twitter API in conjunction with the twit module. Using an object-oriented approach, TwtrBot makes calling functions more intuitive, resulting in cleaner and easier to understand code.

TwtrBot arose from a personal need to encapsulate popular actions such as posting a status, retweeting a status, and searching for statuses, into a set of methods for better efficiency and code maintainability.

Instillation

npm i twtrbot --save

Usage

Be sure to first create a new bot (aka application) over at https://developer.twitter.com/. This package can and should be used in conjunction to https://github.com/ttezel/twit.

Features

JSDoc highlighting with link to corresponding Twitter API reference: highlight

Example Snippet

const TwtrBot  = require('./TwtrBot');
const MyBot = new TwtrBot(CONSUMER_KEY CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET);

MyBot.postTweet("Hello world!");  // Post a Tweet

let params = {
  lat: 34.052235,
  long:  -118.243683
};

MyBot.postTweet('Hello from Los Angeles!', params);

MyBot.searchTweets("oat milk latte").then(async (data) => {
  let tweets = data.statuses;
  for await (let tweet of tweets) {
    let tweet_id = tweet.id;
    MyBot.postRetweet(tweet_id);
  }
});

MyBot.twit.stream('statuses/filter', { track: 'oolong milk tea' });

Snippet Breakdown

Import the module:

const TwtrBot  = require('./TwtrBot');

Initialize your bot object:

const MyBot = new TwtrBot(CONSUMER_KEY CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET);

You can find find all your credentials over at https://developer.twitter.com/, under the Projects & Apps tab.

Posting your first Tweet (aka status):

MyBot.postTweet("Hello world!");  // Post a Tweet

Posting a Tweet passing optional parameters:

let params = {
  lat: 34.052235,
  long:  -118.243683
};

MyBot.postTweet('Hello from Los Angeles!', params);

Searching tweets based on a query and retweeting those tweets:

MyBot.searchTweets("oat milk latte").then(async (data) => {
  let tweets = data.statuses;
  for await (let tweet of tweets) {
    let tweet_id = tweet.id;
    MyBot.postRetweet(tweet_id);
  }
});

Accessing the twit object to perform uncovered functions in the module:

MyBot.twit.stream('statuses/filter', { track: 'oolong milk tea' })

Bots Created with TwtrBot

Contributing

Feel free to make any changes and submit a pull request!

Readme

Keywords

Package Sidebar

Install

npm i twtrbot

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

87.3 kB

Total Files

5

Last publish

Collaborators

  • sirandluke