跳转到主要内容

消息发送

介绍如何向频道发送消息。

公开消息发送

调用 ChatManager.Instance.SendPublicMessage() 方法向特定频道发送消息。发送的消息将传递给该频道的所有订阅者。

方法信息

项目内容
方法ChatManager.Instance.SendPublicMessage(string channel, string text)
回调OnPublicMessage(ChatUserInfo sender, string message) - 接收消息时调用

参数

参数类型说明
channelstring发送消息的频道名称
textstring要发送的消息内容

使用示例

using UnityEngine;
using UnityEngine.UI;

public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;
public Text _textView;

private string myChannel = "Default Channel";

public void SendMessage()
{
ChatManager.Instance.SendPublicMessage(myChannel, _inputChat.text);
_inputChat.text = "";
}

public void OnPublicMessage(ChatUserInfo sender, string message)
{
// 수신한 메시지에 금칙어 필터 적용
Debug.Log($"[{sender.visitorName}] {ChatManager.Instance.Filter(message)}");
_textView.text += $"\n[{sender.visitorName}] {ChatManager.Instance.Filter(message)}";
}

// ... 기타 IChatListener 메서드 구현
}

私密消息发送(私信)

调用 ChatManager.Instance.SendPrivateMessage() 方法仅向特定用户发送消息。

方法信息

项目内容
方法ChatManager.Instance.SendPrivateMessage(string targetUserId, string text)
回调OnPrivateMessage(ChatUserInfo sender, string message) - 接收消息时调用

参数

参数类型说明
targetUserIdstring接收消息的用户 ID
textstring要发送的消息内容

使用示例

using UnityEngine;
using UnityEngine.UI;

public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;

public void SendPrivateMessage()
{
string targetUserId = "string";
ChatManager.Instance.SendPrivateMessage(targetUserId, _inputChat.text);
}

public void OnPrivateMessage(ChatUserInfo sender, string message)
{
// 수신한 귓속말에 금칙어 필터 적용
Debug.Log($"[귓속말 from {sender.visitorName}] {ChatManager.Instance.Filter(message)}");
}

// ... 기타 IChatListener 메서드 구현
}