TextChatService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một dịch vụ xử lý trong trò chuyện trò chuyện trong kinh nghiệm, bao gồm quản lý kênh, trang trí thông điệp, lọc văn bản, tạo mệnh lệnh và phát triển giao diện trò chuyện tùy chỉnh.
Để biết thêm, xem Trò chuyện văn bản trong kinh nghiệm.
Tóm Tắt
Thuộc Tính
Xác định có nên hoàn toàn bật TextChatService hay quay lại hệ thống chat di sản.
Xác định whether TextChatService should create default TextChatCommands .
Xác định có nên tạo một TextChatService để tạo một TextChannels mặc định.
Phương Pháp
Hiển thị một bong bóng trò chuyện trên phần của cung cấp hoặc nhân vật người chơi.
Xác định có phải người dùng có quyền trò chuyện trực tiếp với người dùng khác trong trải nghiệm dựa trên cài đặt quản lý phụ huynh của họ không.
Sự Kiện
Làm nổ khi TextChatService:DisplayBubble() được gọi.
Làm nổ khi TextChannel:DisplaySystemMessage() được gọi trên client, hoặc khi client nhận được một câu trả lời TextChannel:SendAsync() hợp lệ từ máy chủ.
Lửa khi TextChannel:SendAsync() được gọi bởi khách hàng gửi.
Gọi Lại
Gọi khi một cuộc trò chuyện bong bóng đang chuẩn bị được hiển thị.
Được gọi khi một thông điệp mới sắp xuất hiện trong cửa sổ trò chuyện. Điều này chỉ có thể được thực hiện trên client.
Gọi khi TextChatService đang nhận được một tin nhắn đang đến.
Thuộc Tính
ChatTranslationEnabled
ChatVersion
Xác định có nên hoàn toàn bật TextChatService hay quay về hệ thống chat di sản. Đặt thuộc tính này thành Enum.ChatVersion.LegacyChatService để hiệu quả TextChatService bị vô hiệu hóa.
CreateDefaultCommands
Xác định whether TextChatService should create default TextChatCommands .
Nếu đúng, các TextChatCommands sau đây được tạo và đặt trong một Folder có tên là TextChatCommands bên trong 2>Class.TextChatService2> :
<tbody><tr><td><b>RBXClearCommand.</b></td><td>dọn sạchràng</td><td>cls</td><td>Xóa nhật ký trò chuyện cho người dùng địa phương.</td><td><code>/cls</code></td></tr><tr><td><b>RBXConsoleCommand.</b></td><td>console</td><td /><td>Mở Console Người Phát Triển.</td><td><code>/console:</code></td></tr><tr><td><b>RBXEmoteCommand.</b></td><td>biểu cảm</td><td>e</td><td>Chơi một cảm biểu cảmavatar.</td><td><code>/e khiêu vũ</code></td></tr><tr><td><b>RBXHelpCommand.</b></td><td>giúp đỡ</td><td>?</td><td>Hiển thị một danh sách các lệnh trò chuyện.</td><td><code>/giúp</code></td></tr><tr><td><b>RBXMuteCommand.</b></td><td>tắt thông báo</td><td>m</td><td>Tắt một người bằng Class.Player.Name|Name hoặc Class.Player.DisplayName|DisplayName trong tất cả các Class.TextChannel|TextChannels .</td><td><code>/m Tên người dùng</code></td></tr><tr><td><b>RBXTeamCommand.</b></td><td>đội</td><td>t</td><td>Nhập chế độ trò chuyện đội nơi các tin nhắn chỉ được hiển thị cho đồng nghiệp.</td><td><code>/t</code></td></tr><tr><td><b>RBXUnmuteCommand.</b></td><td>tắt</td><td>kích thước mm</td><td>Mute một người bằng Class.Player.Name hoặc Class.Player.DisplayName của họ trong tất cả <code>Class.TextChannel|TextChannels</code> .</td><td><code>/um Tên người dùng</code></td></tr><tr><td><b>RBXVersionCommand</b></td><td>phiên bản</td><td>v</td><td>Hiển thị phiên bản trò chuyện.</td><td><code>/phiên bản</code></td></tr><tr><td><b>RBXWhisperCommand.</b></td><td>thì thầm</td><td>w</td><td>Nhập vào chế độ im lặng với một <code>Class.Player khác</code>.</td><td><code>/w DisplayName</code> hoặc <code>/w @Username</code></td></tr></tbody>
Tên | Alias chính | Những Alias Bên Thứ | Mô tả | Ví dụ sử dụng |
---|
Lưu ý rằng bạn có thể chỉnh sửa, tạo và xóa TextChatCommands ngay cả khi CreateDefaultCommands là đúng. Cũng lưu ý rằng các lệnh im lặng và mute ứng dụng cho tất cả các TextChannels .
CreateDefaultTextChannels
Xá
<tbody><tr><td><b>RBXGeneral</b></td><td><code>Class.TextChannel</code> cho tin nhắn của người chơi. Trong cửa sổ chat, tin nhắn được chỉnh sửa để <code>Class.TextChatMessage.PrefixText|PrefixText</code> nhận nhận màu màu màu màu màu màu màu màu màu màu mà</td></tr><tr><td><b>Hệ thống RBX</b></td><td><code>Class.TextChannel</code> cho tin nhắn hệ thống. Trong cửa sổ trò chuyện, tin nhắn được điều chỉnh để <code>Class.TextChatMessage.Text</code> được màu nhạt màu xám mặc định, hoặc màu đỏ màu nếu <code>Class.TextChatMessage.Metadata</code> có từ 0>“Error”0> .</td></tr><tr><td><b>RBXTeam\[BrickColor]</b></td><td><code>Class.TextChannel</code> cho tin nhắn của người chơi, tạo nơi khi một <code>Class.Team.TeamColor|TeamColor</code> được định trong <code>Class.Player.Neutral</code> và 0></td></tr><tr><td><b>RBXWhisper:\[UserId1]\_\[userId2]</b></td><td><code>Class.TextChannel</code> cho tin nhắn giữa hai người chơi, tạo khi một người dùng nh</td></tr></tbody>
Kênh | Mô tả |
---|
Lưu ý rằng các TextChannel.OnIncomingMessage mặc định có thể bị đổi lại. Ghi chú thêm rằng bạn có thể chỉnh sửa, tạo và xóa TextChannels mặc dù CreateDefaultTextChannels đang đúng.
Các tin nhắn từ các kênh Text khác nhau có thể được phân chia thành các thẻ khác nhau trong cửa sổ trò chuyện bằng cách sử dụng ChannelTabsConfiguration .
Phương Pháp
DisplayBubble
Hiển thị một bong bóng trò chuyện trên phần hoặc nhân vật của người chơi được cung cấp, và kích hoạt sự kiện BubbleDisplayed với các tham số được xác định trong phương thức này. Để hiển thị bong bóng cho những nhân vậ
Lưu ý rằng phương pháp này chỉ khả dụng cho sử dụng trong LocalScript , hoặc trong một Script với RunContext của 1> Class.Script.RunContext1> .
Tham Số
Phần hoặc nhân vật mà bong bóng để hiển thị ở trên.
Văn bản để được hiển thị trong trò chuyện bong bóng.
Lợi Nhuận
CanUsersDirectChatAsync
Xác định có phải người dùng có quyền chat trực tiếp với người dùng khác trong trải nghiệm dựa trên cài đặt quản lý phụ huynh của họ. Để được sử dụng khi:
- Dòng truyền thông được khởi xướng bởi người dùng (không phải là nhà phát triển hoặc gameplay khởi xướng)
- Quyền truy cập vào giao tiếp được đóng cửa và giới hạn
Tham Số
Lợi Nhuận
Mẫu mã
This example checks if two users can chat, creates a new TextChannel, and adds them to it.
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
Sự Kiện
MessageReceived
Giống như TextChannel.MessageReceived , bắt đầu khi TextChannel:DisplaySystemMessage() được gọi trên client, hoặc khi client nhận được một phản hồi hợp lệ TextChannel:SendAsync() từ máy chủ. Sự kiện này chỉ được thực hiện trên client.
Nếu đặt tính TextChannel.ShouldDeliverCallback của máy chủ và trả lại false, client sẽ không khởi động TextChatService.MessageReceived .
Sử dụng tham số TextChatMessage để lấy TextSource và văn bản của tin nhắn (với TextChatMessage.Text).
Tham số TextChatMessage là kết quả cuối cùng của bất kỳ hàm được liên kết với TextChatService.OnIncomingMessage hoặc TextChannel.OnIncomingMessage .
Tham Số
Nhận được TextChatMessage .
SendingMessage
Làm nổ khi TextChannel:SendAsync() được gọi bởi khách hàng gửi. Sử dụng này để cho phép thông báo người dùng khi đang đợi máy chủ trả lời TextChannel:SendAsync() .
Tham Số
Các TextChatMessage từ cuộc gọi TextChannel:SendAsync() .
Gọi Lại
OnBubbleAdded
Gọi khi một cuộc trò chuyện bong bóng đang chuẩn bị được hiển thị. Điều này chỉ có thể được thực hiện trên client.
Sử dụng các thành phần này để tùy chỉnh các thông điệp trò chuyện bong bóng. Nếu thành phần này
Nếu tin nhắn trò chuyện được gửi bởi một người chơi, message.TextSource sẽ tương ứng với người chơi đó, và adornee sẽ là nil .
Nếu tin nhắn trò chuyện được gửi thông qua TextChatService:DisplayBubble() , adornee sẽ là partOrCharacter được cung cấp, và 1> message.TextSource1> sẽ là 4> nil4> .
Tham Số
Lời nói TextChatMessage đang đến.
Phần hoặc nhân vật mà tin nhắn trò chuyện bong bóng được kết dính với.
Lợi Nhuận
Nếu một TextChatMessage được trả lại, những thuộc tính đó sẽ được ứng dụng cho bong bóng được liên kết, không bị qua mà BubbleChatConfiguration đặt tính.
OnChatWindowAdded
Được gọi khi một thông điệp mới sắp xuất hiện trong cửa sổ trò chuyện. Điều này chỉ có thể được thực hiện trên client.
Sử dụng các thành phần này để tùy chỉnh các tin nhắn cụ thể xuất hiện trong cửa sổ trò chuyện. Nếu thẻ này trả về m
Tham Số
Lời nói TextChatMessage đang đến.
Lợi Nhuận
Nếu một TextChatMessage được trả lại, những thuộc tính đó sẽ được áp dụng cho tin nhắn liên quan, vượt qua ChatWindowConfiguration 속性.
OnIncomingMessage
Gọi khi TextChatService đang nhận được một tin nhắn đang đến. Chỉ có thể được thực hiện trên client.
Sử dụng này để trang trí TextChatMessages . Nếu tiếp tục này kết thúc bằng một TextChatMessageProperties , những thuộc tính này được hợp nhất với thuộc tính TextChatMessage để tạo thành một cái gì đó
Khi kết nối với client để gửi một tin nhắn, hành động này được thực hiện hai lần; lần đầu tiên khi thông điệp được gửi và nhận từ máy chủ, và lần thứ hai khi máy chủ nhận kết quả của thông điệp lọc từ máy chủ.
Lưu ý rằng TextChatService.OnIncomingMessage đã được gọi Class.TextChatService.OnIncomingMessage trước bất kỳ TextChannel.OnIncomingMessage hồi tại.
Điều này nên được định nghĩa chỉ một lần trong mã nguồn. Nhiều kết nối sẽ bị vượt qua nhau theo cách không định nghĩa.
Tham Số
Lời nói TextChatMessage đang đến.
Lợi Nhuận
Nếu một TextChatMessageProperties được trả lại, các thuộc tính này được hợp nhất với thuộc tính TextChatMessage để tạo thành một TextChatMessage mới với những thuộc tín