Class: XTwitterScraper::Resources::X::Lists

Inherits:
Object
  • Object
show all
Defined in:
lib/x_twitter_scraper/resources/x/lists.rb,
sig/x_twitter_scraper/resources/x/lists.rbs

Overview

X List followers, members, and tweets

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Lists

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 Lists.

Parameters:



109
110
111
# File 'lib/x_twitter_scraper/resources/x/lists.rb', line 109

def initialize(client:)
  @client = client
end

Instance Method Details

#retrieve_followers(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers

Some parameter documentations has been truncated, see Models::X::ListRetrieveFollowersParams for more details.

List followers of an X List

Parameters:

  • id (String)

    List ID

  • cursor (String)

    Pagination cursor for list followers

  • page_size (Integer)

    Maximum user profiles requested from this page (20-200, default 200). The respon

  • request_options (XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/x_twitter_scraper/resources/x/lists.rb', line 26

def retrieve_followers(id, params = {})
  parsed, options = XTwitterScraper::X::ListRetrieveFollowersParams.dump_request(params)
  query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["x/lists/%1$s/followers", id],
    query: query.transform_keys(page_size: "pageSize"),
    model: XTwitterScraper::PaginatedUsers,
    options: options
  )
end

#retrieve_members(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers

List members of an X List

Parameters:

  • id (String)

    List ID for member lookup

  • cursor (String)

    Pagination cursor for list members

  • page_size (Integer)

    Members per page (20-200, default 20)

  • request_options (XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/x_twitter_scraper/resources/x/lists.rb', line 53

def retrieve_members(id, params = {})
  parsed, options = XTwitterScraper::X::ListRetrieveMembersParams.dump_request(params)
  query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["x/lists/%1$s/members", id],
    query: query.transform_keys(page_size: "pageSize"),
    model: XTwitterScraper::PaginatedUsers,
    options: options
  )
end

#retrieve_tweets(id, cursor: nil, include_replies: nil, page_size: nil, since_time: nil, until_time: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets

Some parameter documentations has been truncated, see Models::X::ListRetrieveTweetsParams for more details.

List tweets from an X List

Parameters:

  • id (String)

    List ID for tweet lookup

  • cursor (String)

    Pagination cursor for list tweets

  • include_replies (Boolean)

    Include replies (default false)

  • page_size (Integer)

    Maximum items requested from this page (1-100, default 20). The response can con

  • since_time (String)

    Unix timestamp - filter after

  • until_time (String)

    Unix timestamp - filter before

  • request_options (XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/x_twitter_scraper/resources/x/lists.rb', line 89

def retrieve_tweets(id, params = {})
  parsed, options = XTwitterScraper::X::ListRetrieveTweetsParams.dump_request(params)
  query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["x/lists/%1$s/tweets", id],
    query: query.transform_keys(
      include_replies: "includeReplies",
      page_size: "pageSize",
      since_time: "sinceTime",
      until_time: "untilTime"
    ),
    model: XTwitterScraper::PaginatedTweets,
    options: options
  )
end