Class: XTwitterScraper::Resources::X::Tweets
- Inherits:
-
Object
- Object
- XTwitterScraper::Resources::X::Tweets
- Defined in:
- lib/x_twitter_scraper/resources/x/tweets.rb,
lib/x_twitter_scraper/resources/x/tweets/like.rb,
lib/x_twitter_scraper/resources/x/tweets/retweet.rb,
sig/x_twitter_scraper/resources/x/tweets.rbs,
sig/x_twitter_scraper/resources/x/tweets/like.rbs,
sig/x_twitter_scraper/resources/x/tweets/retweet.rbs
Defined Under Namespace
Instance Attribute Summary collapse
-
#like ⇒ XTwitterScraper::Resources::X::Tweets::Like
readonly
X write actions (tweets, likes, follows, DMs).
-
#retweet ⇒ XTwitterScraper::Resources::X::Tweets::Retweet
readonly
X write actions (tweets, likes, follows, DMs).
Instance Method Summary collapse
-
#create(account:, idempotency_key:, community_id: nil, is_note_tweet: nil, media: nil, reply_to_tweet_id: nil, text: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetCreateResponse
Some parameter documentations has been truncated, see Models::X::TweetCreateParams for more details.
-
#delete(id, account:, idempotency_key:, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetDeleteResponse
Some parameter documentations has been truncated, see Models::X::TweetDeleteParams for more details.
-
#get_favoriters(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::TweetGetFavoritersParams for more details.
-
#get_quotes(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetQuotesParams for more details.
-
#get_replies(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetRepliesParams for more details.
-
#get_retweeters(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::TweetGetRetweetersParams for more details.
-
#get_thread(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetThreadParams for more details.
-
#initialize(client:) ⇒ Tweets
constructor
private
A new instance of Tweets.
-
#list(ids:, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Get multiple tweets by IDs.
-
#retrieve(id, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetRetrieveResponse
Get tweet with full text, author, metrics & media.
-
#search(q:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetSearchParams for more details.
Constructor Details
#initialize(client:) ⇒ Tweets
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Tweets.
568 569 570 571 572 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 568 def initialize(client:) @client = client @like = XTwitterScraper::Resources::X::Tweets::Like.new(client: client) @retweet = XTwitterScraper::Resources::X::Tweets::Retweet.new(client: client) end |
Instance Attribute Details
#like ⇒ XTwitterScraper::Resources::X::Tweets::Like (readonly)
X write actions (tweets, likes, follows, DMs)
13 14 15 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 13 def like @like end |
#retweet ⇒ XTwitterScraper::Resources::X::Tweets::Retweet (readonly)
X write actions (tweets, likes, follows, DMs)
17 18 19 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 17 def retweet @retweet end |
Instance Method Details
#create(account:, idempotency_key:, community_id: nil, is_note_tweet: nil, media: nil, reply_to_tweet_id: nil, text: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetCreateResponse
Some parameter documentations has been truncated, see Models::X::TweetCreateParams for more details.
Create tweet
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 45 def create(params) parsed, = XTwitterScraper::X::TweetCreateParams.dump_request(params) header_params = {idempotency_key: "idempotency-key"} @client.request( method: :post, path: "x/tweets", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: XTwitterScraper::Models::X::TweetCreateResponse, options: ) end |
#delete(id, account:, idempotency_key:, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetDeleteResponse
Some parameter documentations has been truncated, see Models::X::TweetDeleteParams for more details.
Delete tweet
119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 119 def delete(id, params) parsed, = XTwitterScraper::X::TweetDeleteParams.dump_request(params) header_params = {idempotency_key: "idempotency-key"} @client.request( method: :delete, path: ["x/tweets/%1$s", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: XTwitterScraper::Models::X::TweetDeleteResponse, options: ) end |
#get_favoriters(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::TweetGetFavoritersParams for more details.
Returns liker profiles that X makes visible for the post. X can withhold liker
identities even when the post reports likes. In that case this endpoint returns
424 favoriters_unavailable instead of a misleading empty success.
152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 152 def get_favoriters(id, params = {}) parsed, = XTwitterScraper::X::TweetGetFavoritersParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/tweets/%1$s/favoriters", id], query: query.transform_keys(page_size: "pageSize"), model: XTwitterScraper::PaginatedUsers, options: ) end |
#get_quotes(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetQuotesParams for more details.
List quote tweets of a tweet
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 238 def get_quotes(id, params = {}) parsed, = XTwitterScraper::X::TweetGetQuotesParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/tweets/%1$s/quotes", id], query: query.transform_keys( any_words: "anyWords", conversation_id: "conversationId", exact_phrase: "exactPhrase", exclude_words: "excludeWords", from_user: "fromUser", include_replies: "includeReplies", in_reply_to_tweet_id: "inReplyToTweetId", media_type: "mediaType", min_faves: "minFaves", min_quotes: "minQuotes", min_replies: "minReplies", min_retweets: "minRetweets", page_size: "pageSize", quotes_of_tweet_id: "quotesOfTweetId", retweets_of_tweet_id: "retweetsOfTweetId", since_date: "sinceDate", since_time: "sinceTime", to_user: "toUser", until_date: "untilDate", until_time: "untilTime", verified_only: "verifiedOnly" ), model: XTwitterScraper::PaginatedTweets, options: ) end |
#get_replies(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetRepliesParams for more details.
Returns visible replies. For an unfiltered first page, Xquik compares a terminal
page with the post's reported reply count. If the page is visibly incomplete,
the endpoint returns 424 replies_incomplete instead of presenting partial
coverage as complete. Use tweet search with a conversation_id:{id} query as
the broader fallback.
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 348 def get_replies(id, params = {}) parsed, = XTwitterScraper::X::TweetGetRepliesParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/tweets/%1$s/replies", id], query: query.transform_keys( any_words: "anyWords", conversation_id: "conversationId", exact_phrase: "exactPhrase", exclude_words: "excludeWords", from_user: "fromUser", in_reply_to_tweet_id: "inReplyToTweetId", media_type: "mediaType", min_faves: "minFaves", min_quotes: "minQuotes", min_replies: "minReplies", min_retweets: "minRetweets", page_size: "pageSize", quotes_of_tweet_id: "quotesOfTweetId", retweets_of_tweet_id: "retweetsOfTweetId", since_date: "sinceDate", since_time: "sinceTime", to_user: "toUser", until_date: "untilDate", until_time: "untilTime", verified_only: "verifiedOnly" ), model: XTwitterScraper::PaginatedTweets, options: ) end |
#get_retweeters(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::TweetGetRetweetersParams for more details.
List users who retweeted a tweet
399 400 401 402 403 404 405 406 407 408 409 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 399 def get_retweeters(id, params = {}) parsed, = XTwitterScraper::X::TweetGetRetweetersParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/tweets/%1$s/retweeters", id], query: query.transform_keys(page_size: "pageSize"), model: XTwitterScraper::PaginatedUsers, options: ) end |
#get_thread(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetGetThreadParams for more details.
Get full conversation thread for a tweet
429 430 431 432 433 434 435 436 437 438 439 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 429 def get_thread(id, params = {}) parsed, = XTwitterScraper::X::TweetGetThreadParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/tweets/%1$s/thread", id], query: query.transform_keys(page_size: "pageSize"), model: XTwitterScraper::PaginatedTweets, options: ) end |
#list(ids:, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Get multiple tweets by IDs
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 89 def list(params) parsed, = XTwitterScraper::X::TweetListParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "x/tweets", query: query, model: XTwitterScraper::PaginatedTweets, options: ) end |
#retrieve(id, request_options: {}) ⇒ XTwitterScraper::Models::X::TweetRetrieveResponse
Get tweet with full text, author, metrics & media
69 70 71 72 73 74 75 76 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 69 def retrieve(id, params = {}) @client.request( method: :get, path: ["x/tweets/%1$s", id], model: XTwitterScraper::Models::X::TweetRetrieveResponse, options: params[:request_options] ) end |
#search(q:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::TweetSearchParams for more details.
Search tweets by query, Tweet ID, X status URL, or account date window
527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 |
# File 'lib/x_twitter_scraper/resources/x/tweets.rb', line 527 def search(params) parsed, = XTwitterScraper::X::TweetSearchParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "x/tweets/search", query: query.transform_keys( advanced_query: "advancedQuery", any_words: "anyWords", bounding_box: "boundingBox", conversation_id: "conversationId", exact_phrase: "exactPhrase", exclude_words: "excludeWords", from_user: "fromUser", in_reply_to_tweet_id: "inReplyToTweetId", list_id: "listId", media_type: "mediaType", min_faves: "minFaves", min_quotes: "minQuotes", min_replies: "minReplies", min_retweets: "minRetweets", place_country: "placeCountry", point_radius: "pointRadius", query_type: "queryType", quotes_of_tweet_id: "quotesOfTweetId", retweets_of_tweet_id: "retweetsOfTweetId", since_date: "sinceDate", since_time: "sinceTime", to_user: "toUser", until_date: "untilDate", until_time: "untilTime", verified_only: "verifiedOnly" ), model: XTwitterScraper::PaginatedTweets, options: ) end |