Class: XTwitterScraper::Resources::X::Dm

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

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Dm

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

Parameters:



70
71
72
# File 'lib/x_twitter_scraper/resources/x/dm.rb', line 70

def initialize(client:)
  @client = client
end

Instance Method Details

#retrieve_history(user_id, account:, cursor: nil, max_id: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::DmRetrieveHistoryResponse

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

Get DM conversation history

Parameters:

  • user_id (String)

    Target user ID

  • account (String)

    X handle (without the @ prefix) of the connected X account used to read the co

  • cursor (String)

    Pagination cursor for DM history

  • max_id (String)

    Legacy pagination cursor (backward compat)

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

Returns:

See Also:



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

def retrieve_history(user_id, params)
  parsed, options = XTwitterScraper::X::DmRetrieveHistoryParams.dump_request(params)
  query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["x/dm/%1$s/history", user_id],
    query: query.transform_keys(max_id: "maxId"),
    model: XTwitterScraper::Models::X::DmRetrieveHistoryResponse,
    options: options
  )
end

#send_(user_id, account:, text:, media_ids: nil, request_options: {}) ⇒ XTwitterScraper::Models::X::DmSendResponse

Send direct message

Parameters:

  • user_id (String)

    Recipient user ID

  • account (String)

    X account (@username or ID) sending the DM

  • text (String)
  • media_ids (Array<String>)

    Optional array containing exactly 1 uploaded media ID.

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

Returns:

See Also:



56
57
58
59
60
61
62
63
64
65
# File 'lib/x_twitter_scraper/resources/x/dm.rb', line 56

def send_(user_id, params)
  parsed, options = XTwitterScraper::X::DmSendParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["x/dm/%1$s", user_id],
    body: parsed,
    model: XTwitterScraper::Models::X::DmSendResponse,
    options: options
  )
end