TextChannel

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

แทนที่ช่องแชทข้อความ มี TextSources เป็นลูกหลาน

เพื่อส่งข้อความแชทไปยัง TextChannel โทร TextChannel:SendAsync() จาก LocalScript .ตัวตรงข้าม TextSource ของผู้ใช้ที่มี TextSource.CanSend = true จะต้องอยู่ในช่องนั้น

ข้อความจากช่องข้อความที่แตกต่างกันสามารถแยกออกเป็นแท็บต่างๆในหน้าต่างแชทโดยใช้ ChannelTabsConfiguration

เพื่อเรียนรู้เพิ่มเติมดูที่ การแชทข้อความในประสบการณ์

สรุป

คุณสมบัติ

  • อ่านอย่างเดียว
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    The TextChannel จะส่งข้อความไปยังผู้ใช้ที่สามารถส่งข้อความโดยตรงไปยัง DirectChatRequester ได้เท่านั้น

วิธีการ

อีเวนต์

Callbacks

คุณสมบัติ

DirectChatRequester

อ่านอย่างเดียว
ไม่ซ้ำ
อ่านพร้อมๆ กัน

TextChannel จะส่งข้อความไปยังผู้ใช้ที่สามารถส่งข้อความโดยตรงไปยัง DirectChatRequester ได้เท่านั้น คุณสมบัตินี้สามารถตั้งค่าได้เฉพาะโดยใช้ SetDirectChatRequester()

วิธีการ

DisplaySystemMessage

แสดงข้อความระบบให้กับผู้ใช้สามารถใช้ได้เฉพาะใน LocalScript หรือใน Script ที่มี RunContext ของ Enum.RunContext.Clientข้อความจะปรากฏเฉพาะกับผู้ใช้รายนั้นและไม่ถูกกรองหรือแปลโดยอัตโนมัติ

พารามิเตอร์

systemMessage: string

ข้อความระบบที่ส่งไปยัง TextChannel

ค่าเริ่มต้น: ""
metadata: string

ใช้เพื่อระบุประเภทข้อความระบบ เช่น ข้อความระบบเริ่มต้น

ค่าเริ่มต้น: ""

ส่งค่ากลับ

A TextChatMessage ที่มีคุณสมบัติ TextChatMessage.Status ที่ระบุเงื่อนไขของข้อความ

SetDirectChatRequester

()

ตั้งค่า DirectChatRequester สำหรับ TextChannel วิธีนี้ใช้ได้เฉพาะในสคริปต์เซิร์ฟเวอร์เท่านั้น

ใช้ API นี้หากคุณกำลังทำงานกับ TextChatService และมีการใช้งานที่กําหนดเองสําหรับการแชทโดยตรงนอกช่องข้อความเริ่มต้น

เมื่อเรียกใน TextChannel ที่เป็นพ่อของ TextChatService และไม่มี TextSources ที่มีอยู่แล้ว SetDirectChatRequester เพิ่มผู้ใช้ที่ร้องขอเป็น TextSource และตั้งค่าคุณสมบัติ DirectChatRequester สำหรับช่อง

เมื่อ DirectChatRequester ถูกตั้งค่าไว้ จะมีการส่งข้อความระหว่างผู้ใช้เท่านั้นที่สามารถสนทนากับ DirectChatRequester ได้


local function createWhisperChannel(fromPlayer, toPlayer)
local whisperChannel = Instance.new("TextChannel")
whisperChannel:SetDirectChatRequester(fromPlayer)
whisperChannel:AddUserAsync(toPlayer.UserId)
-- ตอนนี้ TextChannel มีสองตัวอย่าง TextSource แล้ว
return whisperChannel
end

พารามิเตอร์

requester: Player
ค่าเริ่มต้น: ""

ส่งค่ากลับ

()

AddUserAsync

ผลตอบแทน

เพิ่ม TextSource ให้กับ TextChannel ที่ให้ ID ผู้ใช้ (ด้วย Player.UserId ) สามารถใช้ได้เฉพาะใน Script

หากไม่มี TextSource ที่แทนที่ผู้ใช้ไม่มีอยู่ จะเพิ่ม TextSource

หาก TextSource ที่แทนที่ผู้ใช้มีอยู่จริง จะส่งคืน TextSource

หากผู้ใช้ไม่ได้เปิดใช้งานการแชทหรือไม่อยู่ในเซิร์ฟเวอร์ คำสั่งนี้จะคืน tuple nil , false

พารามิเตอร์

userId: number

รหัสผู้ใช้ของ Player .

ค่าเริ่มต้น: ""

ส่งค่ากลับ

ส่งคืน TextSource และ true หากสร้าง TextSource ใหม่สำหรับผู้ใช้, TextSource และ false หากมี TextSource ที่มีอยู่แล้ว, หรือ nil และ false หากผู้ใช้มีแชทปิดหรือไม่ได้อยู่ในเซิร์ฟเวอร์นี้

ผลตอบแทน

ส่ง TextChatMessage ไปยังเซิร์ฟเวอร์ สามารถใช้ได้เฉพาะใน LocalScript หรือใน Script ที่มี RunContext ของ Enum.RunContext.Client

พารามิเตอร์

message: string

ข้อความที่จะส่งไปยัง TextChannel

ค่าเริ่มต้น: ""
metadata: string

เมทาดาต้าที่กำหนดเองเพื่อแนบไปกับข้อความ

ค่าเริ่มต้น: ""

ส่งค่ากลับ

A TextChatMessage ที่มีคุณสมบัติ TextChatMessage.Status ที่ระบุเงื่อนไขของข้อความ

อีเวนต์

MessageReceived

เช่น TextChatService.MessageReceived , จะเกิดขึ้นเมื่อ TextChannel:DisplaySystemMessage() ถูกเรียกใช้บนไคลเอนต์หรือเมื่อไคลเอนต์ได้รับคำตอบ TextChannel:SendAsync() ที่ถูกต้องจากเซิร์ฟเวอร์อีเวนต์นี้จะถูกยิงเฉพาะในไคลเอนต์เท่านั้น

หากคุณสมบัติ TextChannel.ShouldDeliverCallback ของเซิร์ฟเวอร์ถูกผูกและส่งคืน false คลายเอนต์จะไม่ยิง TextChannel.MessageReceived

ใช้พารามิเตอร์ TextChatMessage เพื่อรับ TextSource และข้อความของข้อความ (ด้วย TextChatMessage.Text )

พารามิเตอร์ TextChatMessage เป็นผลลัพธ์สุดท้ายของฟังก์ชันใดๆ ที่ผูกกับ TextChatService.OnIncomingMessage หรือ TextChannel.OnIncomingMessage

พารามิเตอร์

incomingMessage: TextChatMessage

ที่ได้รับ TextChatMessage .


Callbacks

OnIncomingMessage

เรียกเมื่อ TextChannel ได้รับข้อความที่เข้ามา สามารถใช้งานได้เฉพาะในไคลเอนต์เท่านั้น

ใช้สิ่งนี้เพื่อตกแต่ง TextChatMessagesหากคอลเลกชันนี้ส่งกลับ TextChatMessageProperties คุณสมบัติเหล่านั้นจะรวมกับพารามิเตอร์ TextChatMessage เพื่อสร้างคุณสมบัติใหม่ TextChatMessage

เมื่อผูกกับไคลเอนต์ที่ส่งข้อความ คอลเลกชันนี้จะถูกเรียกใช้สองครั้ง ครั้งแรกเมื่อข้อความถูกส่งและรับในท้องถิ่นเป็นครั้งแรก และอีกครั้งเมื่อไคลเอนต์ได้รับผลลัพธ์ของข้อความที่กรองจากเซิร์ฟเวอร์

TextChannel.OnIncomingMessage คอลเลกชันการโทรกลับมักจะทำงานหลังจาก **** คอลเลกชันการโทรกลับ TextChatService.OnIncomingMessage

นี้ควรจะกำหนดได้เพียงครั้งเดียวต่อ TextChannel ในโค้ดที่มาจากแหล่งการผูกหลายครั้งไปยังช่องเดียวกันจะทำลายซึ่งกันและกันในลักษณะที่ไม่สามารถกำหนดได้

เมื่อ เป็นจริง ค่าเริ่มต้น จะได้รับการกำหนดให้โทรกลับภายในเพื่อแสดงพฤติกรรมเริ่มต้นพิเศษ

พารามิเตอร์

ที่เข้ามา TextChatMessage ที่ได้รับ


ส่งค่ากลับ

หากกลับ TextChatMessageProperties จะรวมคุณสมบัติเหล่านั้นกับพารามิเตอร์ TextChatMessage เพื่อสร้าง TextChatMessage ใหม่ที่มีคุณสมบัติเหล่านั้น

ShouldDeliverCallback

เรียกสำหรับแต่ละไคลเอนต์เมื่อ TextChannel ได้รับข้อความที่เข้ามาเพื่อตรวจสอบว่าควรส่งไปยังไคลเอนต์นั้นหรือไม่สามารถกำหนดได้เฉพาะบนเซิร์ฟเวอร์เท่านั้น

เมื่อกำหนดแล้ว คอลเลกชันนี้จะต้องส่งค่าจริงเช่น true , 1 หรือ "hello" เพื่อส่งข้อความไปยังไคลเอนต์ที่กล่าวถึงหาก callback ส่งคืนสิ่งอื่น (รวมถึง nil ) ข้อความจะไม่ถูกส่งไปยังไคลเอนต์นั้น แม้ว่าผู้ส่งจะเห็นข้อความได้อย่างไม่เป็นทางการ

ผู้ส่งสามารถอ้างอิงได้โดย TextChatMessage.TextSource ในขณะที่ผู้รับเป็นอาร์กิวเมนต์ textSourceโปรดทราบว่าผู้ส่งและผู้รับสามารถเป็นเดียวกันได้เนื่องจาก callback จะเดินทางผ่านผู้รับทั้งหมดที่เป็นไปได้ใน Roblox Studio คุณจะเป็นผู้ส่งและผู้รับข้อความเพียงรายเดียวในโหมดเล่นเดี่ยว เล่น

พารามิเตอร์

ข้อความที่ถูกส่งซึ่งยังมีผู้ส่งข้อความด้วย

textSource: TextSource

The TextSource ของผู้ใช้ที่จะได้รับข้อความ


ส่งค่ากลับ