跳转到主要内容

敏感词设置

应用在控制台中设置的过滤词。

控制台过滤设置

过滤设置

  1. 控制台 > 聊天 > 设置 为访问 。
  2. 添加需要过滤的词汇。
  3. 过滤词汇需要用逗号分隔。
  4. 点击保存按钮。

方法 信息

方法说明
FetchFilterWords()从服务器获取敏感词列表
Filter(const FString& Message, TCHAR Separator = TEXT('*'))对消息应用敏感词过滤

参数

Filter 方法

参数类型说明
MessageFString要过滤的消息
SeparatorTCHAR敏感词替换字符 (默认值: '*')

代码示例

void UMyGame::OnConnected()
{
UE_LOG(LogTemp, Log, TEXT("Chat Connected"));
// 연결 성공 시 금칙어 목록 가져오기
AChatManager::GetInstance()->FetchFilterWords();
AChatManager::GetInstance()->Subscribe(TEXT("CH01"));
}

void UMyGame::SendMessage(const FString& Channel, const FString& Message)
{
// 금칙어 필터 적용하여 메시지 전송
FString FilteredMsg = AChatManager::GetInstance()->Filter(Message);
AChatManager::GetInstance()->SendPublicMessage(Channel, FilteredMsg);
}

void UMyGame::OnPublicMessage(const FChatUserInfo& Sender, const FString& Message)
{
// 수신한 메시지에도 금칙어 필터 적용
FString FilteredMsg = AChatManager::GetInstance()->Filter(Message);
UE_LOG(LogTemp, Log, TEXT("[%s] %s"), *Sender.visitorName, *FilteredMsg);
}

void UMyGame::OnPrivateMessage(const FChatUserInfo& Sender, const FString& Message)
{
// 귓속말에도 금칙어 필터 적용
FString FilteredMsg = AChatManager::GetInstance()->Filter(Message);
UE_LOG(LogTemp, Log, TEXT("[귓속말 from %s] %s"), *Sender.visitorName, *FilteredMsg);
}

void UMyGame::OnNotifyMessage(const FChatUserInfo& Sender, const FString& Message)
{
FString FilteredMsg = AChatManager::GetInstance()->Filter(Message);
UE_LOG(LogTemp, Log, TEXT("[시스템] %s"), *FilteredMsg);
}