Module: ChatWork::Client::MessageMethods

Included in:
ChatWork::Client
Defined in:
lib/chatwork/client/message_methods.rb

Instance Method Summary collapse

Instance Method Details

#create_message(room_id:, body:, self_unread: false) {|response_body, response_header| ... } ⇒ Hashie::Mash

Add new message to the chat

Examples:

response format

{
  "message_id": "1234"
}

Parameters:

  • room_id (Integer)
  • body (String)

    message body

  • self_unread (Boolean) (defaults to: false)

    Whether to add the added message as unread by looking at it from myself

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



55
56
57
# File 'lib/chatwork/client/message_methods.rb', line 55

def create_message(room_id:, body:, self_unread: false, &block)
  post("/rooms/#{room_id}/messages", body: body, self_unread: boolean_to_integer(self_unread), &block)
end

#destroy_message(room_id:, message_id:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Destroy the specified message

Examples:

response format

{
  "message_id": "1234"
}

Parameters:

  • room_id (Integer)
  • message_id (String)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



176
177
178
# File 'lib/chatwork/client/message_methods.rb', line 176

def destroy_message(room_id:, message_id:, &block)
  delete("/rooms/#{room_id}/messages/#{message_id}", &block)
end

#find_message(room_id:, message_id:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Get information about the specified message

Examples:

response format

{
  "message_id": "5",
  "account": {
    "account_id": 123,
    "name": "Bob",
    "avatar_image_url": "https://example.com/ico_avatar.png"
  },
  "body": "Hello Chatwork!",
  "send_time": 1384242850,
  "update_time": 0
}

Parameters:

  • room_id (Integer)
  • message_id (String)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



131
132
133
# File 'lib/chatwork/client/message_methods.rb', line 131

def find_message(room_id:, message_id:, &block)
  get("/rooms/#{room_id}/messages/#{message_id}", &block)
end

#get_messages(room_id:, force: nil) {|response_body, response_header| ... } ⇒ Array<Hashie::Mash>

Get all messages associated with the specified chat (returns up to 100 entries).

If the parameter is not set, it returns the next 100 entries from previous call.

Examples:

response format

[
  {
    "message_id": "5",
    "account": {
      "account_id": 123,
      "name": "Bob",
      "avatar_image_url": "https://example.com/ico_avatar.png"
    },
    "body": "Hello Chatwork!",
    "send_time": 1384242850,
    "update_time": 0
  }
]

Parameters:

  • room_id (Integer)
  • force (Boolean, Integer) (defaults to: nil)

    Flag which forces to get 100 newest entries regardless of previous calls.

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Array<Hashie::Mash>)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Array<Hashie::Mash>)

See Also:



32
33
34
# File 'lib/chatwork/client/message_methods.rb', line 32

def get_messages(room_id:, force: nil, &block)
  get("/rooms/#{room_id}/messages", force: boolean_to_integer(force), &block)
end

#read_message(room_id:, message_id: nil) {|response_body, response_header| ... } ⇒ Hashie::Mash

Mark messages as read

Examples:

response format

{
  "unread_num": 461,
  "mention_num": 0
}

Parameters:

  • room_id (Integer)
  • message_id (String) (defaults to: nil)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



78
79
80
# File 'lib/chatwork/client/message_methods.rb', line 78

def read_message(room_id:, message_id: nil, &block)
  put("/rooms/#{room_id}/messages/read", message_id: message_id, &block)
end

#unread_message(room_id:, message_id:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Mark messages as unread

Examples:

response format

{
  "unread_num": 3,
  "mention_num": 0
}

Parameters:

  • room_id (Integer)
  • message_id (String)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



101
102
103
# File 'lib/chatwork/client/message_methods.rb', line 101

def unread_message(room_id:, message_id:, &block)
  put("/rooms/#{room_id}/messages/unread", message_id: message_id, &block)
end

#update_message(room_id:, message_id:, body:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Update the specified message

Examples:

response format

{
  "message_id": "1234"
}

Parameters:

  • room_id (Integer)
  • message_id (String)
  • body (String)

    message body

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



154
155
156
# File 'lib/chatwork/client/message_methods.rb', line 154

def update_message(room_id:, message_id:, body:, &block)
  put("/rooms/#{room_id}/messages/#{message_id}", body: body, &block)
end