Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeffreymorganio/tweet-utils-js
A JavaScript library of functions for working with tweets in JSON format return by the Twitter API.
https://github.com/jeffreymorganio/tweet-utils-js
json nodejs twitter
Last synced: 6 days ago
JSON representation
A JavaScript library of functions for working with tweets in JSON format return by the Twitter API.
- Host: GitHub
- URL: https://github.com/jeffreymorganio/tweet-utils-js
- Owner: jeffreymorganio
- License: mit
- Created: 2015-08-04T14:58:46.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-08-19T13:35:41.000Z (over 4 years ago)
- Last Synced: 2024-12-19T01:03:05.541Z (16 days ago)
- Topics: json, nodejs, twitter
- Language: CoffeeScript
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tweet-utils-js
**tweet-utils-js** is a JavaScript library of functions for working with tweets in JSON format returned by the [Twitter API](https://dev.twitter.com/rest/public).
## Installation
```
npm install tweet-utils-js
```## Use
```javascript
var TweetUtils = require('tweet-utils-js');var aTweet = ...; // A JSON-format object retrieved from the Twitter API
// Geocoding
var geoCoding = TweetUtils.extractGeocoding(aTweet);// User Mentions
var userMentions = TweetUtils.extractUserMentions(aTweet);// Hashtags
var hashtags = TweetUtils.extractHashtags(aTweet);// URLs
var urls = TweetUtils.extractURLs(aTweet);// Retweets
if (TweetUtils.isRetweet(aTweet)) {
// do something with the retweet
}
```## API
**extractGeocoding**(*tweet*)
Returns the geocoded location in a tweet as an object with `latitude` and `longitude` keys, or `null` if the tweet is `null` or does not contain a geocoded location. This function returns an object with keys that explicitly label the latitude and longitude values to avoid the confusing and error-prone use of two-element arrays. Example output:
```javascript
{
longitude: 51.500152,
latitude: -0.126236
}
```**extractUserMentions**(*tweet*)
Returns an array of the Twitter-user screen names mentioned in a tweet (without the @ prefix). The array will be empty if the tweet is `null` or does not mention any Twitter users. For example, the output for the tweet:
> @BBCNews and @CNN are reporting the story live.
would be:
```javascript
['BBCNews', 'CNN']
```**extractHashtags**(*tweet*)
Returns an array of the hashtags used in the text of a tweet (without the # prefix). The array will be empty if the tweet is null or does not contain any hashtags. For example, the output for the tweet:
> It's great to #opensource your #nodejs code!
would be:
```javascript
['opensource', 'nodejs']
```**extractURLs**(*tweet*)
Returns an array of the URLs used in the text of a tweet. The array will be empty if the tweet is null or does not contain any URLs. For example, the output for the tweet:
> Learn about NodeJS and npm at https://nodejs.org/ and https://www.npmjs.com/
would be:
```javascript
['https://nodejs.org/', 'https://www.npmjs.com/']
```The `extractURLs` function returns the full-length, expanded form of the URL when it is available; otherwise the default form is returned, which will often be a [shortened URL](https://en.wikipedia.org/wiki/URL_shortening).
**isRetweet**(*tweet*)
Returns `true` if the tweet is a retweet. A tweet is retweeted when users press the retweet button of a Twitter user interface or when they prefix the tweet text with "RT" or "RT:". For example, the output for the following tweets would be `true`:
> RT @BBCNews and @CNN are reporting the story live.
> RT: @BBCNews and @CNN are reporting the story live.
In constrast, the output for the following tweet would be `false`:
> @BBCNews and @CNN are reporting the story live.