Internal
The config object for configuring the Rettiwt instance.
Get the details of one or more tweets.
The ID/IDs of the target tweet/tweets.
The details of the tweet with the given ID.
If more than one ID is provided, returns a list.
If no tweet/tweets matches the given ID/IDs, returns undefined
/[]
.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the details of the tweet with the id '1234567890'
rettiwt.tweet.details('1234567890')
.then(res => {
console.log(res); # 'res' is a single tweet
})
.catch(err => {
console.log(err);
});
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the details of the tweets with IDs '123', '456', '789'
rettiwt.tweet.details(['123', '456', '789'])
.then(res => {
console.log(res); # 'res' is an array of tweets
})
.catch(err => {
console.log(err);
});
Like a tweet.
The ID of the tweet to be liked.
Whether liking was successful or not.
Get the list of users who liked a tweet. Only works for your own tweets.
The ID of the target tweet.
Optional
count: numberThe number of likers to fetch, must be <= 100.
Optional
cursor: stringThe cursor to the batch of likers to fetch.
The list of users who liked the given tweet.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the most recent 100 likers of the Tweet with id '1234567890'
rettiwt.tweet.likers('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Post a tweet.
The options describing the tweet to be posted. Check TweetArgs for available options.
The ID of the posted tweet.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Posting a tweet to twitter
rettiwt.tweet.post({ text: 'Hello World!' })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Posting a tweet, containing an image with ID '1234567890', to twitter
rettiwt.tweet.post({ text: 'What a nice view!', media: [{ id: '1234567890' }] })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Posting a simple text reply, to a tweet with id "1234567890"
rettiwt.tweet.post({ text: 'Hello!', replyTo: "1234567890" })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Posting a simple text tweet, quoting a tweet with id "1234567890"
rettiwt.tweet.post({ text: 'Hello!', quote: "1234567890" })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Get the list of replies to a tweet.
The ID of the target tweet.
Optional
cursor: stringThe cursor to the batch of replies to fetch.
The sorting order of the replies to fetch. Default is ETweetRepliesSortType.RECENT.
The list of replies to the given tweet.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the first 100 replies to the Tweet with id '1234567890'
rettiwt.tweet.replies('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Makes an HTTP request according to the given parameters.
The requested resource.
The raw data response received.
import { FetcherService, EResourceType } from 'rettiwt-api';
// Creating a new FetcherService instance using the given 'API_KEY'
const fetcher = new FetcherService({ apiKey: API_KEY });
// Fetching the details of the User with username 'user1'
fetcher.request(EResourceType.USER_DETAILS_BY_USERNAME, { id: 'user1' })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Retweet a tweet.
The ID of the target tweet.
Whether retweeting was successful or not.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Retweeting the Tweet with id '1234567890'
rettiwt.tweet.retweet('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Get the list of users who retweeted a tweet.
The ID of the target tweet.
Optional
count: numberThe number of retweeters to fetch, must be <= 100.
Optional
cursor: stringThe cursor to the batch of retweeters to fetch.
The list of users who retweeted the given tweet.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the most recent 100 retweeters of the Tweet with id '1234567890'
rettiwt.tweet.retweeters('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Schedule a tweet.
The options describing the tweet to be posted. Check TweetArgs for available options.
The ID of the schedule.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Scheduling a tweet to posted at 19th of August, 2024, at 11:59:00 AM, in local time
rettiwt.tweet.schedule({ text: 'Hello World!', scheduleFor: new Date('2024-08-19 23:59:00') })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Scheduling a tweet is similar to posting, except that an extra parameter called scheduleFor
is used.
Search for tweets using a filter.
The filter to be used for searching the tweets.
Optional
count: numberThe number of tweets to fetch, must be <= 20.
Optional
cursor: stringThe cursor to the batch of tweets to fetch.
The list of tweets that match the given filter.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Fetching the most recent 5 tweets from user 'user1'
rettiwt.tweet.search({ fromUsers: ['user1'] }, 5)
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
For details about available filters, refer to TweetFilter
Stream tweets in pseudo real-time using a filter.
The filter to be used for searching the tweets.
The interval in milliseconds to poll for new tweets. Default interval is 60000 ms.
An async generator that yields matching tweets as they are found.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Creating a function that streams all new tweets from the user 'user1'
async function streamTweets() {
try {
// Awaiting for the tweets returned by the AsyncGenerator returned by the method
for await (const tweet of rettiwt.tweet.stream({ fromUsers: ['user1'] }, 5000)) {
console.log(tweet.fullText);
}
}
catch (err) {
console.log(err);
}
}
// Calling the function
streamTweets();
Unlike a tweet.
The ID of the target tweet.
Whether unliking was successful or not.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Unliking the Tweet with id '1234567890'
rettiwt.tweet.unlike('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Unpost a tweet.
The ID of the target tweet.
Whether unposting was successful or not.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Unposting the Tweet with id '1234567890'
rettiwt.tweet.unpost('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Unretweet a tweet.
The ID of the target tweet.
Whether unretweeting was successful or not.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Unretweeting the Tweet with id '1234567890'
rettiwt.tweet.unretweet('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Unschedule a tweet.
The ID of the scheduled tweet.
Whether unscheduling was successful or not.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Unscheduling the Tweet with id '1234567890'
rettiwt.tweet.unschedule('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Upload a media file to Twitter.
The path or ArrayBuffer to the media file to upload.
The ID of the uploaded media.
import { Rettiwt } from 'rettiwt-api';
// Creating a new Rettiwt instance using the given 'API_KEY'
const rettiwt = new Rettiwt({ apiKey: API_KEY });
// Uploading a file called mountains.jpg
rettiwt.tweet.upload('mountains.jpg')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Handles interacting with resources related to tweets.