TextChatService

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

无法创建
服务

一种处理在体验中的聊天文字,包括管理频道、装饰消息、过滤文本、创建命令和开发自定义聊天界面。

了解更多信息,请参阅体验内嵌文字聊天

概要

属性

方法

活动

属性

ChatTranslationEnabled

未复制
Roblox 脚本安全性
读取并联

ChatVersion

无法获知安全性
读取并联

决定是否完全启用 TextChatService 或恢复到传统聊天系统。将此属性设置为 Enum.ChatVersion.LegacyChatService 可以有效地禁用 TextChatService

CreateDefaultCommands

插件安全性
读取并联

决定是否创建默认 TextChatService

如果真是如此,那么以下 TextChatCommands 将被创建并放置在 Folder 中,其名为 TextChatCommands 在 2>Class.TextChatService2> 内:


<tbody>
<tr>
<td><b>RBXClearCommand</b></td>
<td>清除</td>
<td>类</td>
<td>清除本地用户的聊天日志。</td>
<td><code>/cls</code></td>
</tr>
<tr>
<td><b>RBXConsoleCommand</b></td>
<td>控制器</td>
<td />
<td>打开开发者控制器。</td>
<td><code>/console</code></td>
</tr>
<tr>
<td><b>RBXEmoteCommand</b></td>
<td>动作</td>
<td>e</td>
<td>播放一个头像动作。</td>
<td><code>/e 跳舞</code></td>
</tr>
<tr>
<td><b>RBXHelpCommand</b></td>
<td>帮助</td>
<td>?</td>
<td>显示聊天命令列表。</td>
<td><code>/帮助</code></td>
</tr>
<tr>
<td><b>RBXMuteCommand</b></td>
<td>静音</td>
<td>分</td>
<td>使用 <code>Class.Player.Name|Name</code> 或 <code>Class.Player.DisplayName|DisplayName</code> 在所有 <code>Class.TextChannel|TextChannels</code> 中 mute 用户。</td>
<td><code>/m 用户名</code></td>
</tr>
<tr>
<td><b>RBXTeamCommand</b></td>
<td>团队</td>
<td>t</td>
<td>进入团队聊天模式,在消息上只能显示队友。</td>
<td><code>/t</code></td>
</tr>
<tr>
<td><b>RBXUnmuteCommand</b></td>
<td>取消</td>
<td>嗯</td>
<td>在 Class.Player.Name|Name 或 <code>Class.Player.DisplayName|DisplayName</code> 中,取消用户的 <code>Class.Player.Name|Name</code> 或 1>Class.Player.DisplayName|显示名称1> 在所有 4>Class.TextChannel|TextChannels4> 中。</td>
<td><code>/um 用户名</code></td>
</tr>
<tr>
<td><b>RBX版本命令</b></td>
<td>版本</td>
<td>v</td>
<td>显示聊天版本。</td>
<td><code>/version</code></td>
</tr>
<tr>
<td><b>RBXWhisperCommand</b></td>
<td>悄悄话</td>
<td>w</td>
<td>输入悄悄模式,使用另一个 <code>Class.Player</code> 。</td>
<td><code>/w DisplayName</code> 或 <code>/w @Username</code></td>
</tr>
</tbody>
名称主要别名次要别名描述示例使用

注意,您可以编辑、创建 or 创作和移除 TextChatCommands 即使 CreateDefaultCommands 是真的。还注意,TextChannels 对于所有 1> Class.TextChatService.CreateDefaultCommands|CreateDefaultCommands1> 适用。

CreateDefaultTextChannels

插件安全性
读取并联

确定 Class


<tbody>
<tr>
<td><b>RBXGeneral</b></td>
<td> Class.TextChannel 对玩家消息。 在聊天窗口中,消息被修改为让 <code>Class.TextChatMessage.PrefixText|PrefixText</code> 收到一个 <a href="../../../ui/rich-text.md">富文本</a> 字体标签来给聊天玩家提供其独特的名称颜色。 如果 0> Class.Player.Team0> 存在,那么 3> Class.Team.TeamColor\</</td>
</tr>
<tr>
<td><b>RBXSystem</b></td>
<td><code>Class.TextChannel</code> 对系统消息。在聊天窗口中,消息被修改为系统默认的<code>Class.TextChatMessage.Text</code>,或红色标签,如果<code>Class.TextChatMessage.Metadata</code>包含0>“错误”0>。</td>
</tr>
<tr>
<td><b>RBXTeam\[BrickColor]</b></td>
<td><code>Class.TextChannel</code> 对于团队的玩家消息,创建时一个 Class.Player.TeamColor 属性的 1>Class.TextSource1> 为所有的非 4>Class.Player.Neutral4> 玩家,可让他们使用仅限于团</td>
</tr>
<tr>
<td><b>RBXWhisper:\[userId1]\_\[userId2]</b></td>
<td><code>Class.TextChannel</code> 用于两个玩家之间的暗示消息,创建于一名玩家使用 /</td>
</tr>
</tbody>
频道描述

注意,默认 TextChannel.OnIncomingMessage 回调可以被覆盖。还注意到您可以编辑、创创建 or 创作和移除 TextChannels 即使 CreateDefaultTextChannels 是真的。

不同的文字频道消息可以在聊天窗口中使用 ChannelTabsConfiguration 来分为不同的选项卡。

方法

DisplayBubble

void

将聊天气泡显示在提供的部分或玩家角色上,并且发射 BubbleDisplayed 事件,并使用此方法指定的参数显示泡泡给非玩家角色 (NPC) 显示泡泡。 可以显示非玩家角色 (NPC) 的泡泡,如果你在角色中指定了一个部分,例如它的头部。

注意,此方法仅在 LocalScriptScript 中使用,或在 RunContext 的 1>Class.Script.RunContext|RunContext1> 中使用 4>Class.Script.Run4> 。

参数

partOrCharacter: Instance

上面将显示的气泡部分或角色。

message: string

在聊天泡泡中显示的文本。


返回

void

CanUserChatAsync

暂停

参数

userId: number

返回

CanUsersChatAsync

暂停

参数

userIdFrom: number
userIdTo: number

返回

CanUsersDirectChatAsync

暂停

根据父母控制设置,用户是否可以在体验中直接与其他用户聊天。在使用时,父母控制设置为"父母控制"。

  • 通信线是由用户发起的(不是开发者或游戏玩法发起的)
  • 通信受到限制,并且仅限于通信

参数

requesterUserId: number
userIds: Array

返回

代码示例

CanUsersDirectChatAsync

local TextChatService = game:GetService("TextChatService")
local directChatParticipants = TextChatService:CanUsersDirectChatAsync(userId1, { userId2 })
-- Check for eligible participants
if #directChatParticipants > 0 then
local directChannel = Instance.new("TextChannel")
directChannel.Parent = TextChatService
for _, participant in directChatParticipants do
directChannel:AddUserAsync(participant)
end
return directChannel
end
warn("Could not create TextChannel. Not enough eligible users.")
return nil

活动

BubbleDisplayed

发生在 TextChatService:DisplayBubble() 被调用时。

参数

partOrCharacter: Instance
textChatMessage: TextChatMessage

MessageReceived

喜欢 TextChannel.MessageReceived , 发生在客户端调用 TextChannel:DisplaySystemMessage() 或客户端收到服务器发出的有效 TextChannel:SendAsync() 回应时。 此事件仅在客户端发生。

如果服务器的 TextChannel.ShouldDeliverCallback 属性是可以绑定的,并且返回 false ,客户端将不会发射 TextChatService.MessageReceived

使用 TextChatMessage 参数获取 TextSource 和消息的文本(含 TextChatMessage.Text)。

Class.TextChatMessage 参数是指定 TextChatService.OnIncomingMessageTextChannel.OnIncomingMessage 的所有函数的最终结果。

参数

textChatMessage: TextChatMessage

收到 TextChatMessage


SendingMessage

发生在 TextChannel:SendAsync() 被发送客户端调用时。使用此来允许用户在等待服务器回应 TextChannel:SendAsync() 时显示占位符消息。

参数

textChatMessage: TextChatMessage

Class.TextChatMessage 从 TextChannel:SendAsync() 调用。


回调

OnBubbleAdded

参数

adornee: Instance

返回

OnChatWindowAdded

参数


返回

OnIncomingMessage

参数


返回