TwitterJSClient
Twitter client written in JavaScript packaged as a node module
Install / Use
/learn @BoyCook/TwitterJSClientREADME
Description
A Twitter Node Module to authenticate and interact with the Twitter REST API from NodeJS.
Installation
npm install twitter-node-client
var Twitter = require('twitter-node-client').Twitter;
Usage
You need to create a Twitter app to use the API.
//Callback functions
var error = function (err, response, body) {
console.log('ERROR [%s]', err);
};
var success = function (data) {
console.log('Data [%s]', data);
};
var Twitter = require('twitter-node-client').Twitter;
//Get this data from your twitter apps dashboard
{
"consumerKey": "XXX",
"consumerSecret": "XXX",
"accessToken": "XXX",
"accessTokenSecret": "XXX",
"callBackUrl": "XXX"
}
// make a directory in the root folder of your project called data
// copy the node_modules/twitter-node-client/twitter_config file over into data/twitter_config`
// Open `data/twitter_config` and supply your applications `consumerKey`, 'consumerSecret', 'accessToken', 'accessTokenSecret', 'callBackUrl' to the appropriate fields in your data/twitter_config file
var twitter = new Twitter();
//Example calls
twitter.getUserTimeline({ screen_name: 'BoyCook', count: '10'}, error, success);
twitter.getMentionsTimeline({ count: '10'}, error, success);
twitter.getHomeTimeline({ count: '10'}, error, success);
twitter.getReTweetsOfMe({ count: '10'}, error, success);
twitter.getTweet({ id: '1111111111'}, error, success);
//
// Get 10 tweets containing the hashtag haiku
//
twitter.getSearch({'q':'#haiku','count': 10}, error, success);
//
// Get 10 popular tweets with a positive attitude about a movie that is not scary
//
twitter.getSearch({'q':' movie -scary :) since:2013-12-27', 'count': 10, 'result\_type':'popular'}, error, success);
Twitter has a comprehensive REST api if you need to use something that doesn't have a wrapper function in the library call it directly :
twitter.getCustomApiCall('/statuses/lookup.json',{ id: '412312323'}, error, success);
twitter.postCustomApiCall('/direct_messages/new.json',{user_id: '1234', 'text':'This is easy.'}, error, success);
To get the list of expected parameters and results, check https://dev.twitter.com/rest/public
Functions
Search Tweets. Docs
To learn how to use Twitter Search effectively read Using the Twitter Search API
twitter.getSearch(parameters, errorCallback, successCallback);
Update user's status (Tweet). Docs
twitter.postTweet(parameters, errorCallback, successCallback);
Follow another user by user_id or screen_name(handle). Docs
twitter.postCreateFriendship(parameters, errorCallback, successCallback);
Get a user's timelineDocs
twitter.getUserTimeline(parameters, errorCallback, successCallback);
Get the latest 20 recent mentions for the authenticating user. Docs
twitter.getMentionsTimeline(parameters, errorCallback, successCallback);
Get the latest tweets and retweets by the authenticating users and the ones they follow. Docs
twitter.getHomeTimeline(parameters, errorCallback, successCallback);
Get latest retweets of authenticated user. Docs
twitter.getReTweetsOfMe(parameters, errorCallback, successCallback);
Get a tweet by id. Docs
twitter.getTweet(parameters, errorCallback, successCallback);
Get information about a user by user_id or handle (screen_name). Docs
twitter.getUser(parameters, errorCallback, successCallback);
Get a cursored collection of the followers of a user_id or a handle (screen_name). Docs
twitter.getFollowersList(parameters, errorCallback, successCallback);
Get a cursored collection of the followers' ids of a user_id or a handle (screen_name). Docs
twitter.getFollowersIds(parameters, errorCallback, successCallbackok);
Upload media (images) to Twitter. Docs
twitter.postMedia(parameters, errorCallback, successCallback);
Tests
There is a test file TwitterITSpec.js that does a basic integration tests of the client.
It uses a properties file test/spec/properties.json to inject in the OAuth properties.
These will need to be updated with your own details before the tests will run
Running tests
make test
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。




