Class: MaxApiClient::MessagesApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/max_api_client/raw_api.rb,
sig/max_api_client.rbs

Overview

Raw message delivery and mutation endpoints.

Constant Summary collapse

ATTACHMENT_NOT_READY_CODE =
"attachment.not.ready"
ATTACHMENT_NOT_READY_DELAY =
1

Constants inherited from BaseApi

BaseApi::HTTP_METHODS

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize

Constructor Details

This class inherits a constructor from MaxApiClient::BaseApi

Instance Method Details

#answer_on_callback(callback_id:, **body) ⇒ Object

Parameters:

  • callback_id: (String)
  • body (Object)

Returns:

  • (Object)


137
138
139
# File 'lib/max_api_client/raw_api.rb', line 137

def answer_on_callback(callback_id:, **body)
  post("answers", query: { callback_id: }, body:)
end

#delete(message_id:) ⇒ Object

Parameters:

  • message_id: (String)

Returns:

  • (Object)


133
134
135
# File 'lib/max_api_client/raw_api.rb', line 133

def delete(message_id:)
  super("messages", query: { message_id: })
end

#edit(message_id:, **body) ⇒ Object

Parameters:

  • message_id: (String)
  • body (Object)

Returns:

  • (Object)


129
130
131
# File 'lib/max_api_client/raw_api.rb', line 129

def edit(message_id:, **body)
  put("messages", query: { message_id: }, body:)
end

#get(**query) ⇒ Object

Parameters:

  • query (Object)

Returns:

  • (Object)


112
113
114
# File 'lib/max_api_client/raw_api.rb', line 112

def get(**query)
  super("messages", query:)
end

#get_by_id(message_id:) ⇒ Object

Parameters:

  • message_id: (String)

Returns:

  • (Object)


116
117
118
# File 'lib/max_api_client/raw_api.rb', line 116

def get_by_id(message_id:)
  get("messages/{message_id}", path_params: { message_id: })
end

#send(chat_id: nil, user_id: nil, disable_link_preview: nil, **body) ⇒ Object

Parameters:

  • chat_id: (Integer, nil) (defaults to: nil)
  • user_id: (Integer, nil) (defaults to: nil)
  • disable_link_preview: (Boolean, nil) (defaults to: nil)
  • body (Object)

Returns:

  • (Object)


120
121
122
123
124
125
126
127
# File 'lib/max_api_client/raw_api.rb', line 120

def send(chat_id: nil, user_id: nil, disable_link_preview: nil, **body)
  post("messages", query: compact_nil(chat_id:, user_id:, disable_link_preview:), body:)
rescue ApiError => e
  raise unless e.code == ATTACHMENT_NOT_READY_CODE

  sleep(ATTACHMENT_NOT_READY_DELAY)
  send(chat_id:, user_id:, disable_link_preview:, **body)
end