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
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 data lookups (subscription required).
Instance Method Summary collapse
-
#create(account:, name:, description: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityCreateResponse
Create community.
-
#delete(id, account:, community_name:, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityDeleteResponse
Delete community.
-
#initialize(client:) ⇒ Communities
constructor
private
A new instance of Communities.
-
#retrieve_info(id, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityRetrieveInfoResponse
Get community details.
-
#retrieve_members(id, cursor: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Get community members.
-
#retrieve_moderators(id, cursor: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Get community moderators.
-
#retrieve_search(q:, cursor: nil, query_type: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Search tweets across communities.
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.
167 168 169 170 171 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 167 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)
9 10 11 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 9 def join @join end |
#tweets ⇒ XTwitterScraper::Resources::X::Communities::Tweets (readonly)
X data lookups (subscription required)
13 14 15 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 13 def tweets @tweets end |
Instance Method Details
#create(account:, name:, description: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityCreateResponse
Create community
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 30 def create(params) parsed, = XTwitterScraper::X::CommunityCreateParams.dump_request(params) @client.request( method: :post, path: "x/communities", body: parsed, model: XTwitterScraper::Models::X::CommunityCreateResponse, options: ) end |
#delete(id, account:, community_name:, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityDeleteResponse
Delete community
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 56 def delete(id, params) parsed, = XTwitterScraper::X::CommunityDeleteParams.dump_request(params) @client.request( method: :delete, path: ["x/communities/%1$s", id], body: parsed, model: XTwitterScraper::Models::X::CommunityDeleteResponse, options: ) end |
#retrieve_info(id, request_options: {}) ⇒ XTwitterScraper::Models::X::CommunityRetrieveInfoResponse
Get community details
78 79 80 81 82 83 84 85 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 78 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, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Get community members
100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 100 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, model: XTwitterScraper::PaginatedUsers, options: ) end |
#retrieve_moderators(id, cursor: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedUsers
Get community moderators
125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 125 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(q:, cursor: nil, query_type: nil, request_options: {}) ⇒ XTwitterScraper::Models::PaginatedTweets
Search tweets across communities
152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/x_twitter_scraper/resources/x/communities.rb', line 152 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(query_type: "queryType"), model: XTwitterScraper::PaginatedTweets, options: ) end |