Class: XTwitterScraper::Resources::Monitors
- Inherits:
-
Object
- Object
- XTwitterScraper::Resources::Monitors
- Defined in:
- lib/x_twitter_scraper/resources/monitors.rb,
lib/x_twitter_scraper/resources/monitors/keywords.rb,
sig/x_twitter_scraper/resources/monitors.rbs,
sig/x_twitter_scraper/resources/monitors/keywords.rbs
Overview
Real-time X account monitoring
Defined Under Namespace
Classes: Keywords
Instance Attribute Summary collapse
-
#keywords ⇒ XTwitterScraper::Resources::Monitors::Keywords
readonly
Real-time X account monitoring.
Instance Method Summary collapse
-
#create(event_types:, username:, request_options: {}) ⇒ XTwitterScraper::Models::MonitorCreateResponse
Creates an instant monitor.
-
#deactivate(id, request_options: {}) ⇒ XTwitterScraper::Models::MonitorDeactivateResponse
Delete monitor.
-
#initialize(client:) ⇒ Monitors
constructor
private
A new instance of Monitors.
-
#list(request_options: {}) ⇒ XTwitterScraper::Models::MonitorListResponse
List monitors.
-
#retrieve(id, request_options: {}) ⇒ XTwitterScraper::Models::Monitor
Get monitor.
-
#update(id, event_types: nil, is_active: nil, request_options: {}) ⇒ XTwitterScraper::Models::Monitor
Update monitor.
Constructor Details
#initialize(client:) ⇒ Monitors
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 Monitors.
125 126 127 128 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 125 def initialize(client:) @client = client @keywords = XTwitterScraper::Resources::Monitors::Keywords.new(client: client) end |
Instance Attribute Details
#keywords ⇒ XTwitterScraper::Resources::Monitors::Keywords (readonly)
Real-time X account monitoring
9 10 11 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 9 def keywords @keywords end |
Instance Method Details
#create(event_types:, username:, request_options: {}) ⇒ XTwitterScraper::Models::MonitorCreateResponse
Creates an instant monitor. Monitors are unlimited. Active monitors check every 1 second and cost 21 credits per hour. Events and webhook deliveries are included. Creation requires available credits for the first hourly charge and username lookup.
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 27 def create(params) parsed, = XTwitterScraper::MonitorCreateParams.dump_request(params) @client.request( method: :post, path: "monitors", body: parsed, model: XTwitterScraper::Models::MonitorCreateResponse, options: ) end |
#deactivate(id, request_options: {}) ⇒ XTwitterScraper::Models::MonitorDeactivateResponse
Delete monitor
113 114 115 116 117 118 119 120 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 113 def deactivate(id, params = {}) @client.request( method: :delete, path: ["monitors/%1$s", id], model: XTwitterScraper::Models::MonitorDeactivateResponse, options: params[:request_options] ) end |
#list(request_options: {}) ⇒ XTwitterScraper::Models::MonitorListResponse
List monitors
93 94 95 96 97 98 99 100 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 93 def list(params = {}) @client.request( method: :get, path: "monitors", model: XTwitterScraper::Models::MonitorListResponse, options: params[:request_options] ) end |
#retrieve(id, request_options: {}) ⇒ XTwitterScraper::Models::Monitor
Get monitor
49 50 51 52 53 54 55 56 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 49 def retrieve(id, params = {}) @client.request( method: :get, path: ["monitors/%1$s", id], model: XTwitterScraper::Monitor, options: params[:request_options] ) end |
#update(id, event_types: nil, is_active: nil, request_options: {}) ⇒ XTwitterScraper::Models::Monitor
Update monitor
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/x_twitter_scraper/resources/monitors.rb', line 73 def update(id, params = {}) parsed, = XTwitterScraper::MonitorUpdateParams.dump_request(params) @client.request( method: :patch, path: ["monitors/%1$s", id], body: parsed, model: XTwitterScraper::Monitor, options: ) end |