Class: XTwitterScraper::Resources::X::Communities
- Inherits:
-
Object
- Object
- XTwitterScraper::Resources::X::Communities
- Defined in:
- lib/x_twitter_scraper/resources/x/communities.rb,
lib/x_twitter_scraper/resources/x/communities/join.rb,
lib/x_twitter_scraper/resources/x/communities/tweets.rb,
sig/x_twitter_scraper/resources/x/communities.rbs,
sig/x_twitter_scraper/resources/x/communities/join.rbs,
sig/x_twitter_scraper/resources/x/communities/tweets.rbs
Defined Under Namespace
Instance Attribute Summary collapse
-
#join ⇒ XTwitterScraper::Resources::X::Communities::Join
readonly
X write actions (tweets, likes, follows, DMs).
-
#tweets ⇒ XTwitterScraper::Resources::X::Communities::Tweets
readonly
X Community info, members, and tweets.
Instance Method Summary collapse
-
#create(account:, name:, idempotency_key:, description: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityCreateResponse
Some parameter documentations has been truncated, see Models::X::CommunityCreateParams for more details.
-
#delete(id, account:, community_name:, idempotency_key:, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityDeleteResponse
Some parameter documentations has been truncated, see Models::X::CommunityDeleteParams for more details.
-
#initialize(client:) ⇒ Communities
constructor
private
A new instance of Communities.
-
#retrieve_info(id, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityRetrieveInfoResponse
Get community name, description & member count.
-
#retrieve_members(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::CommunityRetrieveMembersParams for more details.
-
#retrieve_moderators(id, cursor: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
List moderators of a community.
-
#retrieve_search(community_id:, q:, cursor: nil, page_size: nil, query_type: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::CommunityRetrieveSearchParams for more details.
Constructor Details
#initialize(client:) ⇒ Communities
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 Communities.
201 202 203 204 205 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 201 def initialize(client:) @client = client @join = XTwitterScraper::Resources::X::Communities::Join.new(client: client) @tweets = XTwitterScraper::Resources::X::Communities::Tweets.new(client: client) end |
Instance Attribute Details
#join ⇒ XTwitterScraper::Resources::X::Communities::Join (readonly)
X write actions (tweets, likes, follows, DMs)
13 14 15 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 13 def join @join end |
#tweets ⇒ XTwitterScraper::Resources::X::Communities::Tweets (readonly)
X Community info, members, and tweets
17 18 19 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 17 def tweets @tweets end |
Instance Method Details
#create(account:, name:, idempotency_key:, description: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityCreateResponse
Some parameter documentations has been truncated, see Models::X::CommunityCreateParams for more details.
Create community
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 39 def create(params) parsed, = XTwitterScraper::X::CommunityCreateParams.dump_request(params) header_params = {idempotency_key: "idempotency-key"} @client.request( method: :post, path: "x/communities", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: XTwitterScraper::Models::X::CommunityCreateResponse, options: ) end |
#delete(id, account:, community_name:, idempotency_key:, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityDeleteResponse
Some parameter documentations has been truncated, see Models::X::CommunityDeleteParams for more details.
Delete community
72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 72 def delete(id, params) parsed, = XTwitterScraper::X::CommunityDeleteParams.dump_request(params) header_params = {idempotency_key: "idempotency-key"} @client.request( method: :delete, path: ["x/communities/%1$s", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: XTwitterScraper::Models::X::CommunityDeleteResponse, options: ) end |
#retrieve_info(id, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityRetrieveInfoResponse
Get community name, description & member count
96 97 98 99 100 101 102 103 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 96 def retrieve_info(id, params = {}) @client.request( method: :get, path: ["x/communities/%1$s/info", id], model: XTwitterScraper::Models::X::CommunityRetrieveInfoResponse, options: params[:request_options] ) end |
#retrieve_members(id, cursor: nil, page_size: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Some parameter documentations has been truncated, see Models::X::CommunityRetrieveMembersParams for more details.
List members of a community
123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 123 def retrieve_members(id, params = {}) parsed, = XTwitterScraper::X::CommunityRetrieveMembersParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/communities/%1$s/members", id], query: query.transform_keys(page_size: "pageSize"), model: XTwitterScraper::PaginatedUsers, options: ) end |
#retrieve_moderators(id, cursor: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
List moderators of a community
148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 148 def retrieve_moderators(id, params = {}) parsed, = XTwitterScraper::X::CommunityRetrieveModeratorsParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["x/communities/%1$s/moderators", id], query: query, model: XTwitterScraper::PaginatedUsers, options: ) end |
#retrieve_search(community_id:, q:, cursor: nil, page_size: nil, query_type: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Some parameter documentations has been truncated, see Models::X::CommunityRetrieveSearchParams for more details.
Returns tweets, not community records. Requires a Community ID.
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 182 def retrieve_search(params) parsed, = XTwitterScraper::X::CommunityRetrieveSearchParams.dump_request(params) query = XTwitterScraper::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "x/communities/search", query: query.transform_keys( community_id: "communityId", page_size: "pageSize", query_type: "queryType" ), model: XTwitterScraper::PaginatedTweets, options: ) end |