> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DirectMessagesClient

> Reference for the direct_messages Python package in the X API SDK, grouping the client and Pydantic models for the direct messages endpoints of the X API v2.

## 하위 모듈

* [xdk.direct\_messages.client module](/xdks/python/reference/xdk.direct_messages.client)
  * [`DirectMessagesClient`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient)
    * [`DirectMessagesClient.__init__()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.__init__)
    * [`DirectMessagesClient.create_by_conversation_id()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.create_by_conversation_id)
    * [`DirectMessagesClient.create_by_participant_id()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.create_by_participant_id)
    * [`DirectMessagesClient.create_conversation()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.create_conversation)
    * [`DirectMessagesClient.delete_events()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.delete_events)
    * [`DirectMessagesClient.get_events()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.get_events)
    * [`DirectMessagesClient.get_events_by_conversation_id()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.get_events_by_conversation_id)
    * [`DirectMessagesClient.get_events_by_id()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.get_events_by_id)
    * [`DirectMessagesClient.get_events_by_participant_id()`](/xdks/python/reference/xdk.direct_messages.client#xdk.direct_messages.client.DirectMessagesClient.get_events_by_participant_id)
* [xdk.direct\_messages.models module](/xdks/python/reference/xdk.direct_messages.models)
  * [`CreateByConversationIdRequest`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByConversationIdRequest)
    * [`CreateByConversationIdRequest.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByConversationIdRequest.model_config)
  * [`CreateByConversationIdResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByConversationIdResponse)
    * [`CreateByConversationIdResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByConversationIdResponse.model_config)
  * [`CreateByParticipantIdRequest`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByParticipantIdRequest)
    * [`CreateByParticipantIdRequest.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByParticipantIdRequest.model_config)
  * [`CreateByParticipantIdResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByParticipantIdResponse)
    * [`CreateByParticipantIdResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateByParticipantIdResponse.model_config)
  * [`CreateConversationRequest`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateConversationRequest)
    * [`CreateConversationRequest.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateConversationRequest.model_config)
  * [`CreateConversationResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateConversationResponse)
    * [`CreateConversationResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.CreateConversationResponse.model_config)
  * [`DeleteEventsResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.DeleteEventsResponse)
    * [`DeleteEventsResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.DeleteEventsResponse.model_config)
  * [`GetEventsByConversationIdResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByConversationIdResponse)
    * [`GetEventsByConversationIdResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByConversationIdResponse.model_config)
  * [`GetEventsByIdResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByIdResponse)
    * [`GetEventsByIdResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByIdResponse.model_config)
  * [`GetEventsByParticipantIdResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByParticipantIdResponse)
    * [`GetEventsByParticipantIdResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsByParticipantIdResponse.model_config)
  * [`GetEventsResponse`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsResponse)
    * [`GetEventsResponse.model_config`](/xdks/python/reference/xdk.direct_messages.models#xdk.direct_messages.models.GetEventsResponse.model_config)

## 모듈 내용

이 모듈은 X API의 direct messages 엔드포인트에 대한 액세스를 제공합니다.
모든 direct messages-related 기능의 주요 진입점 역할을 합니다.

### `class xdk.direct_messages.DirectMessagesClient`

다이렉트 메시지 작업을 위한 클라이언트

#### 매개변수

<ParamField path="path.client" type="Client" />

### `__init__`

#### 매개변수

<ParamField path="path.client" type="Client" />

### `create_by_conversation_id`

Create DM message by conversation ID
Sends a new direct message to a specific conversation by its ID.

#### 매개변수

<ParamField path="path.dm_conversation_id" type="str">
  The DM Conversation ID.
</ParamField>

<ParamField path="body.body" type="CreateByConversationIdRequest">
  요청 본문
</ParamField>

### `create_by_participant_id`

Create DM message by participant ID
Sends a new direct message to a specific participant by their ID.

#### 매개변수

<ParamField path="path.participant_id" type="Any">
  The ID of the recipient user that will receive the DM.
</ParamField>

<ParamField path="body.body" type="CreateByParticipantIdRequest">
  요청 본문
</ParamField>

### `create_conversation`

Create DM conversation
Initiates a new direct message conversation with specified participants.
body: 요청 본문
:returns: 응답 데이터
:rtype: CreateConversationResponse

#### 매개변수

<ParamField path="body.body" type="CreateConversationRequest" />

### `delete_events`

Delete DM event
Deletes a specific direct message event by its ID, if owned by the authenticated user.

#### 매개변수

<ParamField path="path.event_id" type="Any">
  The ID of the direct-message event to delete.
</ParamField>

#### 반환값

`DeleteEventsResponse` - 응답 데이터

### `get_events`

Get DM events
Retrieves a list of recent direct message events across all conversations.

#### 매개변수

<ParamField path="path.max_results" type="int or None" default="None">
  결과의 최대 개수입니다.
</ParamField>

<ParamField path="path.pagination_token" type="Any or None" default="None">
  This parameter is used to get a specified ‘page’ of results.
</ParamField>

<ParamField path="path.event_types" type="List or None" default="None">
  The set of event\_types to include in the results.
</ParamField>

<ParamField path="path.dm_event_fields" type="List or None" default="None">
  표시할 DmEvent 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.expansions" type="List or None" default="None">
  확장할 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.media_fields" type="List or None" default="None">
  표시할 Media 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.user_fields" type="List or None" default="None">
  표시할 User 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.tweet_fields" type="List or None" default="None">
  표시할 Tweet 필드의 쉼표로 구분된 목록입니다.
</ParamField>

#### 반환값

`IteratorGetEventsResponse`

### `get_events_by_conversation_id`

Get DM events for a DM conversation
Retrieves direct message events for a specific conversation.

#### 매개변수

<ParamField path="path.id" type="Any">
  The DM conversation ID.
</ParamField>

<ParamField path="path.max_results" type="int or None" default="None">
  결과의 최대 개수입니다.
</ParamField>

<ParamField path="path.pagination_token" type="Any or None" default="None">
  This parameter is used to get a specified ‘page’ of results.
</ParamField>

<ParamField path="path.event_types" type="List or None" default="None">
  The set of event\_types to include in the results.
</ParamField>

<ParamField path="path.dm_event_fields" type="List or None" default="None">
  표시할 DmEvent 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.expansions" type="List or None" default="None">
  확장할 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.media_fields" type="List or None" default="None">
  표시할 Media 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.user_fields" type="List or None" default="None">
  표시할 User 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.tweet_fields" type="List or None" default="None">
  표시할 Tweet 필드의 쉼표로 구분된 목록입니다.
</ParamField>

#### 반환값

`IteratorGetEventsByConversationIdResponse`

### `get_events_by_id`

Get DM event by ID
Retrieves details of a specific direct message event by its ID.

#### 매개변수

<ParamField path="path.event_id" type="Any">
  dm event id.
</ParamField>

<ParamField path="path.dm_event_fields" type="List or None" default="None">
  표시할 DmEvent 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.expansions" type="List or None" default="None">
  확장할 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.media_fields" type="List or None" default="None">
  표시할 Media 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.user_fields" type="List or None" default="None">
  표시할 User 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.tweet_fields" type="List or None" default="None">
  표시할 Tweet 필드의 쉼표로 구분된 목록입니다.
</ParamField>

#### 반환값

`GetEventsByIdResponse` - 응답 데이터

### `get_events_by_participant_id`

Get DM events for a DM conversation
Retrieves direct message events for a specific conversation.

#### 매개변수

<ParamField path="path.participant_id" type="Any">
  The ID of the participant user for the One to One DM conversation.
</ParamField>

<ParamField path="path.max_results" type="int or None" default="None">
  결과의 최대 개수입니다.
</ParamField>

<ParamField path="path.pagination_token" type="Any or None" default="None">
  This parameter is used to get a specified ‘page’ of results.
</ParamField>

<ParamField path="path.event_types" type="List or None" default="None">
  The set of event\_types to include in the results.
</ParamField>

<ParamField path="path.dm_event_fields" type="List or None" default="None">
  표시할 DmEvent 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.expansions" type="List or None" default="None">
  확장할 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.media_fields" type="List or None" default="None">
  표시할 Media 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.user_fields" type="List or None" default="None">
  표시할 User 필드의 쉼표로 구분된 목록입니다.
</ParamField>

<ParamField path="path.tweet_fields" type="List or None" default="None">
  표시할 Tweet 필드의 쉼표로 구분된 목록입니다.
</ParamField>

#### 반환값

`IteratorGetEventsByParticipantIdResponse`
