Title: Parse and Validate Tweet Text
Version: 0.1.0
Description: An interface to 'twitter-text', a 'JavaScript' library which is responsible for determining the length/validity of a tweet and identifying/linking any URLs or special tags (e.g. mentions or hashtags) which may be present.
License: Apache License (≥ 2)
Encoding: UTF-8
RoxygenNote: 7.2.1
Imports: tibble, V8
NeedsCompilation: no
Packaged: 2022-10-05 23:19:48 UTC; jacobscott
Author: Jacob Scott [aut, cre], Twitter, Inc [aut], Other contributors [aut]
Maintainer: Jacob Scott <jscott2718@gmail.com>
Repository: CRAN
Date/Publication: 2022-10-06 16:20:02 UTC

Description

Perform tweet autolinking

Usage

tweet_autolink(x)

Arguments

x

A character vector of tweets to be autolinked

Value

A character vector giving the HTML which would be used by Twitter if x were posted as a tweet.

Examples

tweet_autolink(c(
  "Tweet with no links",
  "Tweet with a normal link: https://www.r-project.org",
  "Tweet with a mention @hadleywickham",
  "Tweet with a hastag: #RStats",
  "Tweet with a cashtag: $RSTATS"
))

Extract mentions from a tweet

Description

Extract mentions from a tweet

Usage

tweet_get_mentions(x)

Arguments

x

A character vector of tweets to extract mentions for

Value

A list with length(x) elements, where each element is a character vector of mentions. Mentions have the '@' character removed.

Examples

tweet_get_mentions(c("No mentions", "One mention @_wurli"))

Parse a tweet

Description

These functions can be used to validate tweets before posting.

Usage

tweet_info(x)

tweet_permillage(x)

tweet_weighted_length(x)

tweet_is_valid(x)

tweet_valid_range_start(x)

tweet_valid_range_end(x)

tweet_display_range_start(x)

tweet_display_range_end(x)

Arguments

x

A character vector of tweet

Details

Value

tweet_info() returns a dataframe with length(x) rows. The other functions return integer/numeric vectors with length(x) elements.

See Also

tweet_get_mentions() and tweet_autolink()

Examples

tweets <- c(
  "This is a first tweet. Simple!",
  "This tweet tags @hadleywickham and @_wurli",
  "This tweet links {rtweet}: https://docs.ropensci.org/rtweet/",
  "Emojis take up two characters \U1F600\U1F600\U1F600",
  strrep("This tweet is way too long! ", 20)
)

# Dataframe summarising all of the following
tweet_info(tweets)

# Ratio of used characterss to allowed characters
tweet_permillage(tweets)

# Length of the tweet (according to Twitter's rules):
tweet_weighted_length(tweets)

# Logical indicating tweet validity:
tweet_is_valid(tweets)

# Valid range of a tweet
tweet_valid_range_start(tweets)
tweet_valid_range_end(tweets)

# Display range of a tweet
tweet_display_range_start(tweets)
tweet_display_range_end(tweets)