TextChannel
*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.
Đại diện cho kênh trò chuyện văn bản. Bao gồm TextSources như con cháu.
Để gửi tin nhắn trò chuyện đến TextChannel, gọi TextChannel:SendAsync() từ một LocalScript.Tương ứng với TextSource của người dùng với TextSource.CanSend = true phải ở trong kênh đó.
Các tin nhắn từ các Kênh Văn Bản khác nhau có thể được tách ra thành các tab khác nhau trong cửa sổ trò chuyện bằng cách sử dụng ChannelTabsConfiguration .
Để tìm hiểu thêm, xem Trò chuyện văn bản trong trải nghiệm.
Tóm Tắt
Thuộc Tính
The TextChannel sẽ chỉ gửi tin nhắn cho người dùng có thể gửi tin nhắn trực tiếp tới DirectChatRequester .
Phương Pháp
Hiển thị một tin nhắn hệ thống cho người dùng.
Bộ DirectChatRequester đặt cho TextChannel . Bộ TextChannel chỉ gửi tin nhắn cho người dùng có thể gửi tin nhắn trực tiếp tới DirectChatRequester .
Thêm một TextSource vào TextChannel ID người dùng được cung cấp của một Player .
Gửi một TextChatMessage đến máy chủ.
Sự Kiện
Bắt lửa khi TextChannel:DisplaySystemMessage() được gọi trên khách hàng, hoặc khi khách hàng nhận được một phản hồi hợp lệ TextChannel:SendAsync() từ máy chủ.
Gọi Lại
Gọi khi TextChannel đang nhận một tin nhắn đến.
Gọi cho mỗi khách hàng khi TextChannel đang nhận một tin nhắn đến để xác định xem có nên gửi cho khách hàng đó hay không.
Thuộc Tính
DirectChatRequester
The TextChannel sẽ chỉ gửi tin nhắn cho người dùng có thể gửi tin nhắn trực tiếp tới DirectChatRequester. Thuộc tính này chỉ có thể được đặt bằng SetDirectChatRequester().
Phương Pháp
DisplaySystemMessage
Hiển thị một tin nhắn hệ thống cho người dùng.Chỉ có thể được sử dụng trong một LocalScript , hoặc trong một Script với RunContext của Enum.RunContext.Client .Các tin nhắn chỉ hiển thị cho người dùng đó và không được lọc hoặc dịch tự động.
Tham Số
Tin nhắn hệ thống được gửi đến TextChannel.
Sử dụng để xác định loại tin nhắn hệ thống, chẳng hạn như tin nhắn hệ thống mặc định.
Lợi Nhuận
Một TextChatMessage với thuộc tính TextChatMessage.Status chỉ ra điều kiện của tin nhắn.
SetDirectChatRequester
Thiết lập DirectChatRequester cho TextChannel. Phương pháp này chỉ có thể sử dụng trong các kịch bản máy chủ.
Sử dụng API này nếu bạn đang làm việc với TextChatService và có một thực hiện tùy chỉnh trò chuyện trực tiếp ngoài các kênh văn bản mặc định.
Khi gọi trên một TextChannel được gán cho TextChatService và không có TextSources hiện có, SetDirectChatRequester thêm các người dùng yêu cầu làm TextSource và đặt thuộc tính DirectChatRequester cho kênh.
Khi DirectChatRequester được cài đặt, chỉ các tin nhắn giữa các người dùng có thể trò chuyện với DirectChatRequester được gửi.
local function createWhisperChannel(fromPlayer, toPlayer)
local whisperChannel = Instance.new("TextChannel")
whisperChannel:SetDirectChatRequester(fromPlayer)
whisperChannel:AddUserAsync(toPlayer.UserId)
-- Instances TextChannel bây giờ có hai instance TextSource.
return whisperChannel
end
Tham Số
Lợi Nhuận
AddUserAsync
Thêm một TextSource vào TextChannel ID người dùng được cung cấp (với Player.UserId ). Chỉ có thể được sử dụng trong một Script .
Nếu một TextSource đại diện cho người dùng không tồn tại, điều này thêm một TextSource .
Nếu một TextSource đại diện cho người dùng tồn tại, nó trả về TextSource .
Nếu người dùng đã tắt trò chuyện hoặc không ở trong máy chủ, nó trả về một tuple nil, false.
Tham Số
Lợi Nhuận
Trả về TextSource và true nếu một new TextSource được tạo cho người dùng, TextSource và false nếu có một TextSource hiện có, hoặc nil và false nếu người dùng có chat tắt hoặc không ở trong máy chủ này.
SendAsync
Gửi một TextChatMessage đến máy chủ. Chỉ có thể được sử dụng trong một LocalScript , hoặc trong một Script với RunContext của Enum.RunContext.Client .
Tham Số
Tin nhắn để gửi đến TextChannel.
metadata tùy chỉnh để gắn vào tin nhắn.
Lợi Nhuận
Một TextChatMessage với thuộc tính TextChatMessage.Status chỉ ra điều kiện của tin nhắn.
Sự Kiện
MessageReceived
Giống như TextChatService.MessageReceived, bắt lửa khi TextChannel:DisplaySystemMessage() được gọi trên khách hàng, hoặc khi khách hàng 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 kích hoạt trên client.
Nếu thuộc tính TextChannel.ShouldDeliverCallback của máy chủ được gắn và trả về false , khách hàng sẽ không bắn TextChannel.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ỳ chức năng nào được gắn vào TextChatService.OnIncomingMessage hoặc TextChannel.OnIncomingMessage .
Tham Số
Nhận được TextChatMessage .
Gọi Lại
OnIncomingMessage
Gọi khi TextChannel đang nhận một tin nhắn đến. Chỉ có thể thực hiện trên khách hàng.
Sử dụng điều này để trang trí TextChatMessages .Nếu lời gọi lại này trả về một TextChatMessageProperties , những thuộc tính này được hợp nhất với tham số TextChatMessage để tạo một TextChatMessage mới.
Khi gắn vào khách hàng gửi tin nhắn, cuộc gọi lại này được chạy hai lần; đầu tiên khi tin nhắn được gửi và nhận ban đầu địa phương, và một lần nữa khi khách hàng nhận được kết quả của tin nhắn bị lọc từ máy chủ.
TextChannel.OnIncomingMessage các cuộc gọi trả lại luôn chạy sau cuộc gọi TextChatService.OnIncomingMessage.
Điều này nên được xác định chỉ một lần mỗi TextChannel trong mã nguồn.Nhiều giao dịch cho cùng một kênh sẽ vô hiệu hóa lẫn nhau theo cách không xác định.
Khi TextChatService:CreateDefaultTextChannels() là sự thật, những định nghĩa mặc định TextChannels có các cuộc gọi trả lại TextChannel.OnIncomingMessage được gán nội bộ để trưng bày hành vi mặc định đặc biệt.
Tham Số
Các đầu vào TextChatMessage .
Lợi Nhuận
Nếu một TextChatMessageProperties được trả về, các thuộc tính này được hợp nhất với tham số TextChatMessage để tạo một TextChatMessage mới với các thuộc tính đó.
ShouldDeliverCallback
Gọi cho mỗi khách hàng khi TextChannel đang nhận một tin nhắn đến để xác định xem có nên gửi cho khách hàng đó hay không.Chỉ có thể được xác định trên máy chủ.
Một khi được xác định, cuộc gọi trả lại này cần phải trả lại một giá trị đúng như true , 1 hoặc "hello" để gửi tin nhắn cho khách hàng nói đó.Nếu callback trả về bất cứ thứ gì khác (bao gồm nil ), thông điệp sẽ không được gửi đến khách hàng đó, mặc dù người gửi sẽ xem thông điệp bất kể.
Người gửi có thể được tham chiếu bởi TextChatMessage.TextSource , trong khi người nhận là textSource đối số.Lưu ý rằng người gửi và người nhận có thể giống nhau, vì callback lặp qua tất cả các nhận viên có thể.Trong Roblox Studio, bạn sẽ là người gửi và nhận duy nhất một tin nhắn trong chế độ solo Chơi .
Tham Số
Tin nhắn được gửi, cũng chứa người gửi của tin nhắn.
The TextSource của người dùng sẽ nhận được tin nhắn.