XClient.DirectMessages (XClient v1.0.0)

Copy Markdown View Source

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)

Summary

Functions

Deletes a direct message.

Returns a list of direct messages.

Returns a single direct message event.

Functions

destroy(id, client \\ nil)

Deletes a direct message.

Parameters

  • id - The ID of the direct message to delete

Examples

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

list(opts \\ [], client \\ nil)

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(recipient_id, text, opts \\ [], client \\ nil)

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(id, client \\ nil)

Returns a single direct message event.

Parameters

  • id - The ID of the direct message

Examples

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