Internal
Optional
config: IRettiwtConfigThe config object for configuring the Rettiwt instance.
Protected
Optional
Readonly
authThe URL to the proxy server to use only for authentication.
Protected
Optional
Readonly
userThe id of the authenticated user (if any).
Get the details of a tweet.
The id of the target tweet.
The details of the tweet with the given id.
If no tweet matches the given id, 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);
})
.catch(err => {
console.log(err);
});
Like a tweet.
The id of the tweet to be liked.
Whether liking 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 });
// Liking the Tweet with id '1234567890'
rettiwt.tweet.like('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Get the list of tweets from a tweet list.
The id of target list.
Optional
count: numberThe number of tweets to fetch, must be <= 100.
Optional
cursor: stringThe cursor to the batch of tweets to fetch.
The list tweets in the given list.
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 tweets of the Twitter list with id '1234567890'
rettiwt.tweet.list('1234567890')
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Due a bug in Twitter API, the count is ignored when no cursor is provided and defaults to 100.
Post a tweet.
The id of the posted tweet.
Posting a simple text
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);
});
Posting a tweet with an image that has been already uploaded
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 called 'mountains.jpg', to twitter
rettiwt.tweet.post({ text: 'What a nice view!', media: [{ id: '1234567890' }] })
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
Posting a reply to a 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 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);
});
Posting a tweet that quotes another 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 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);
});
Makes an HTTP request according to the given parameters.
The type of the returned response data.
The requested resource.
The raw data response received.
Fetching the raw details of a user with username 'user1'
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 id of the schedule.
Scheduling a simple text
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'] }, 1000)) {
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);
});
Generated using TypeDoc
Handles interacting with resources related to tweets.