# `XClient.DirectMessages`
[🔗](https://github.com/iamkanishka/x-client.ex.git/blob/v1.0.0/lib/twitter_client/direct_messages.ex#L1)

Direct Messages operations for X API v1.1.

## Rate Limits

- POST direct_messages/events/new: 1000 per 24 hours (user), 15000 per 24 hours (app)

# `destroy`

Deletes a direct message.

## Parameters

  - `id` - The ID of the direct message to delete

## Examples

    {:ok, _} = XClient.DirectMessages.destroy("123456789")

# `list`

Returns a list of direct messages.

## Parameters

  - `opts` - Optional parameters
    - `:count` - Number of events to return (max 50)
    - `:cursor` - Cursor for pagination

## Examples

    {:ok, messages} = XClient.DirectMessages.list(count: 50)

# `send`

Sends a new direct message.

## Parameters

  - `recipient_id` - The ID of the recipient user
  - `text` - The message text
  - `opts` - Optional parameters
    - `:media_id` - Media ID to attach
    - `:quick_reply_options` - List of quick reply options

## Examples

    {:ok, message} = XClient.DirectMessages.send("123456", "Hello!")

    # With media
    {:ok, media} = XClient.Media.upload("image.jpg")
    {:ok, message} = XClient.DirectMessages.send(
      "123456",
      "Check this out!",
      media_id: media["media_id_string"]
    )

## Rate Limit

1000 requests per 24 hours (user), 15000 per 24 hours (app)

# `show`

Returns a single direct message event.

## Parameters

  - `id` - The ID of the direct message

## Examples

    {:ok, message} = XClient.DirectMessages.show("123456789")

---

*Consult [api-reference.md](api-reference.md) for complete listing*
