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

# Using text moderation

> Enable PlayFab Party text moderation backed by Azure AI Content Safety to auto-detect languages and filter offensive words from in-game text chat messages.

PlayFab Party는 텍스트 채팅과 통합된 텍스트 조정 솔루션을 제공합니다. 텍스트 채팅은 실시간으로 조정되어 불쾌한 언어를 걸러낼 수 있습니다. 이 기능은 Azure AI Content Safety에 의해 지원됩니다. 자세한 내용은 [Azure AI Content Safety](https://azure.microsoft.com/products/ai-services/ai-content-safety/)를 참조하세요.

## 언어 지원

텍스트 조정은 100개 이상의 언어에서 지원됩니다. 그러나 텍스트 조정을 위해 언어 선택을 구성하기 위해 어떤 작업도 할 필요가 없습니다. Azure가 각 텍스트 메시지의 언어를 자동으로 감지합니다. 자동 감지와 욕설 필터링을 지원하는 언어의 전체 목록은 Azure AI Content Safety의 [지원되는 언어 목록](https://learn.microsoft.com/en-us/azure/ai-services/content-safety/language-support)을 참조하세요.

## 텍스트 조정 활성화

텍스트 조정은 채팅 컨트롤별로 구성됩니다. `PartyTextChatOptions::FilterOffensiveText` 옵션과 함께 `PartyLocalChatControl::SetTextChatOptions()`를 호출하여 활성화합니다. 조정이 활성화된 채팅 컨트롤은 불쾌한 단어가 별표로 마스킹된 텍스트 채팅을 수신합니다. 조정은 채팅 컨트롤별로 활성화되므로 사용자가 자신의 조정 선택을 설정할 수 있는 UI를 만들 수 있습니다. 또는 일부 또는 모든 사용자에게 조정을 강제할 수 있습니다.

채팅 컨트롤의 조정을 비활성화하려면 같은 함수를 사용하여 `FilterOffensiveText` 플래그가 포함되지 않은 `PartyTextChatOptions` 옵션을 전달합니다.

샘플 코드:

```cpp theme={null}
// Opt into moderation
myLocalChatControl->SetTextChatOptions(PartyTextChatOptions::FilterOffensiveText, nullptr);

// Opt out of moderation
myLocalChatControl->SetTextChatOptions(PartyTextChatOptions::None, nullptr);
```

## 조정된 텍스트 보내기 및 받기

조정이 활성화된 채팅 컨트롤로 전송되는 모든 텍스트는 발신자의 조정 설정과 관계없이 조정이 적용됩니다. 조정이 활성화된 채팅 컨트롤이 수신하는 텍스트 메시지는 `PartyChatTextReceivedStateChange`의 `chatText` 필드가 조정된 버전으로 대체됩니다.

`PartyChatTextReceivedStateChange`에는 사용자에게 필터링되지 않은 텍스트 버전을 볼 수 있는 옵션을 제공하는 등 더 복잡한 시나리오를 지원하는 추가 필드가 있습니다. 자세한 내용은 [PartyChatTextReceivedStateChange](/services/playfab/multiplayer/networking/reference/structs/partychattextreceivedstatechange) 참조 페이지를 확인하세요.

서비스 오류로 인해서든 특정 용어를 식별하지 못한 채 서비스가 텍스트를 불쾌한 것으로 판단해서든 텍스트 메시지 조정이 실패하면, 전체 텍스트 메시지가 별표로 마스킹됩니다. 이러한 오류가 발생하면 `PartyChatTextReceivedStateChange`의 `options` 필드에 제공된 `PartyChatTextReceivedOptions` 열거형에 더 많은 정보가 포함됩니다.

## 필터링 수준 조정

영어의 경우 `PartyManager::SetOption` 함수를 사용하여 채팅 컨트롤에 대해 발생하는 필터링 수준을 조정할 수 있습니다. 사용 가능한 필터링 수준은 Family-Friendly, Medium, Mature입니다. 기본 수준은 Family-Friendly입니다.

샘플 코드:

```cpp theme={null}
// Set the filter level to Mature
PartyTextChatFilterLevel filterLevel = PartyTextChatFilterLevel::Mature;
PartyOption option = PartyOption::TextChatFilterLevel;
PartyError error = PartyManager::SetOption(nullptr, option, &filterLevel);
```

## 함께 보기

* [PlayFab Party 채팅 작동 방식 이해](/services/playfab/community/voice-communications/concepts-chat)
* [PartyLocalChatControl::SetTextChatOptions](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settextchatoptions)
* [PartyChatTextReceivedOptions](/services/playfab/multiplayer/networking/reference/enums/partychattextreceivedoptions)


## Related topics

- [XR-018 사용자 생성 콘텐츠](/ko/publishing/certification/xr/xr-018.md)
- [moderation_service_request_count](/ko/services/playfab/api-references/events/Networking/moderation-service-request-count.md)
- [PFCatalogModerationStatus](/ko/services/playfab/api-references/c/pfcatalogtypes/enums/pfcatalogmoderationstatus.md)
- [PFCatalogModerationState](/ko/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogmoderationstate.md)
- [item_moderation_state_changed](/ko/services/playfab/api-references/events/CatalogV2/item-moderation-state-changed.md)
