TextChatService

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

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

ไม่สามารถสร้าง
บริการ

บริการจัดการการแชทข้อความในประสบการณ์รวมถึง managing channels , ตกแต่งข้อความ, การกรองข้อความ, creating commands , และ พัฒนาอินเทอร์เฟซแชทที่กำหนดเอง .

เพื่อเรียนรู้เพิ่มเติมดู การดูภาพรวมของ TextChatService

สำหรับการปรับแต่งเพิ่มเติม TextChatService มีบุตรโสดต่อไปนี้:

สรุป

คุณสมบัติ

  • ไม่ซ้ำ
    การรักษาความปลอดภัยของสคริปต์ Roblox
    อ่านพร้อมๆ กัน

    กำหนดว่าการแปลแชทจะเปิดใช้งานหรือไม่

  • การรักษาความปลอดภัยของสคริปต์ Roblox
    อ่านพร้อมๆ กัน

    กำหนดว่าจะเปิดใช้งานเต็มรูปแบบ TextChatService หรือกลับไปใช้ระบบแชทรุ่นเก่า

  • การรักษาความปลอดภัยของปลั๊กอิน
    อ่านพร้อมๆ กัน

    กำหนดว่า TextChatService ควรสร้างค่าเริ่มต้น TextChatCommands หรือไม่

  • การรักษาความปลอดภัยของปลั๊กอิน
    อ่านพร้อมๆ กัน

    กำหนดว่า TextChatService ควรสร้างค่าเริ่มต้น TextChannels หรือไม่

วิธีการ

  • DisplayBubble(partOrCharacter : Instance,message : string):()

    แสดงฟองข้อความบนส่วนหรือตัวละครผู้เล่นที่ให้ไว้

  • ผลตอบแทน

    กำหนดว่าผู้ใช้มีสิทธิ์ในการแชทในประสบการณ์หรือไม่

  • CanUsersChatAsync(userIdFrom : number,userIdTo : number):boolean
    ผลตอบแทน

    กำหนดว่าผู้ใช้สองคนจะได้รับข้อความระหว่างกันหรือไม่

  • CanUsersDirectChatAsync(requesterUserId : number,userIds : Array):Array
    ผลตอบแทน

    กำหนดว่าผู้ใช้มีสิทธิ์ในการแชทโดยตรงกับผู้ใช้รายอื่นในประสบการณ์ตามปัจจัยเช่นการตั้งค่าการควบคุมของพ่อแม่

อีเวนต์

Callbacks

  • เรียกเมื่อบับเบิ้ลแชทกำลังจะแสดงขึ้น

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

  • เรียกเมื่อ TextChatService ได้รับข้อความที่เข้ามา

คุณสมบัติ

ChatTranslationEnabled

ไม่ซ้ำ
การรักษาความปลอดภัยของสคริปต์ Roblox
อ่านพร้อมๆ กัน

กำหนดว่าการแปลแชทจะเปิดใช้งานหรือไม่ถ้าเป็นจริง ข้อความระบบจะแจ้งผู้เล่นเมื่อพวกเขาเข้าร่วมครั้งแรกที่ข้อความแชทอาจถูกแปลเป็นภาษาที่ผู้เล่นต้องการ

ChatVersion

การรักษาความปลอดภัยของสคริปต์ Roblox
อ่านพร้อมๆ กัน

กำหนดว่าจะเปิดใช้งานเต็มรูปแบบ TextChatService หรือกลับไปใช้ระบบแชทรุ่นเก่าการตั้งค่าคุณสมบัตินี้เป็น Enum.ChatVersion.LegacyChatService จะปิดใช้งาน TextChatService ได้อย่างมีประสิทธิภาพ

CreateDefaultCommands

การรักษาความปลอดภัยของปลั๊กอิน
อ่านพร้อมๆ กัน

กำหนดว่า TextChatService ควรสร้างค่าเริ่มต้น TextChatCommands หรือไม่

หากเป็นจริงต่อไปนี้ TextChatCommands จะถูกสร้างขึ้นและใส่ใน Folder ชื่อ TextChatCommands ภายใน TextChatService :


<th>อีเอเลียสหลัก</th>
<th>อีเอเลียสรอง</th>
<th>คําอธิบาย</th>
<th>ตัวอย่างการใช้งาน</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>คําสั่ง RBXClear</b></td>
<td>ล้างข้อมูล</td>
<td>cls</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>คำสั่งอีโมท RBX</b></td>
<td>ท่าทาง</td>
<td>e</td>
<td>ท่าทาง</td>
<td><code>/e เต้นรำ</code></td>
</tr>
<tr>
<td><b>คำสั่งช่วยเหลือ RBX</b></td>
<td>ช่วยเหลือ</td>
<td>?</td>
<td>แสดงรายการคําสั่งแชท</td>
<td><code>/ช่วยเหลือ</code></td>
</tr>
<tr>
<td><b>คําสั่ง RBXMute</b></td>
<td>ปิดเสียง</td>
<td>m</td>
<td>ปิดการใช้งานผู้ใช้โดย <code>Class.Player.Name|Name</code> หรือ <code>Class.Player.DisplayName|DisplayName</code> ในทุก <code>Class.TextChannel|TextChannels</code></td>
<td><code>/m ชื่อผู้ใช้</code></td>
</tr>
<tr>
<td><b>คําสั่งทีม RBX</b></td>
<td>ทีม</td>
<td>t</td>
<td>เข้าสู่โหมดแชททีมที่ข้อความจะปรากฏให้เพื่อนร่วมทีมเท่านั้น</td>
<td><code>/t</code></td>
</tr>
<tr>
<td><b>คําสั่งปิดเสียง RBXUnmute</b></td>
<td>ปิดเสียง</td>
<td>um</td>
<td>ปิดการปิดเสียงผู้ใช้โดย <code>Class.Player.Name|Name</code> หรือ <code>Class.Player.DisplayName|DisplayName</code> ในทั้งหมด <code>Class.TextChannel|TextChannels</code></td>
<td><code>ชื่อผู้ใช้ /um</code></td>
</tr>
<tr>
<td><b>คําสั่ง RBXVersion</b></td>
<td>รุ่น</td>
<td>v</td>
<td>แสดงรุ่นแชท</td>
<td><code>/เวอร์ชัน</code></td>
</tr>
<tr>
<td><b>คำสั่ง RBXWhisper</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>
ชื่อ

โปรดทราบว่าคุณสามารถแก้ไข สร้าง และลบ TextChatCommands แม้ว่า CreateDefaultCommands จะเป็นจริง โปรดทราบว่าคำสั่งปิดเสียงและเปิดเสียงใช้กับทั้งหมด TextChannels

CreateDefaultTextChannels

การรักษาความปลอดภัยของปลั๊กอิน
อ่านพร้อมๆ กัน

กำหนดว่า TextChatService ควรสร้างค่าเริ่มต้น TextChannels หรือไม่หากเป็นจริง Folder ที่ชื่อว่า ช่องข้อความ จะถูกสร้างขึ้นภายใน TextChatService ในระหว่างการรันไทม์เพื่อให้มี TextChannels ที่ระบุไว้ในตารางด้านล่างแต่ละช่องเริ่มต้นมีพฤติกรรมพิเศษที่อธิบายไว้ที่ใช้กับข้อความโดยใช้ฟังก์ชันการโทรกลับภายในที่ผูกไว้ TextChannel.OnIncomingMessage เปลี่ยนวิธีที่ข้อความปรากฏเมื่อส่งผ่านช่องการเรียกคืนจะถูกกำหนดโดยอัตโนมัติทั้งในระหว่างการทำงาน (ถ้า TextChannel มีอยู่) หรือเมื่อสร้าง TextChannel ขึ้น


<th>คําอธิบาย</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>RBXทั่วไป</b></td>
<td><code>Class.TextChannel</code> สำหรับข้อความของผู้เล่นในหน้าต่างแชทข้อความจะถูกแก้ไขเพื่อให้ Class.TextChatMessage.PrefixText|PrefixText ได้รับแท็กสีฟอนต์ข้อความที่มีรายละเอียดเพื่อให้ผู้เล่นแชทได้รับสีชื่อที่โดดเด่นหากมี <code>Class.Player.Team</code> อยู่แล้ว คลาส <code>Class.Team.TeamColor</code> จะถูกใช้แทนสีชื่อเริ่มต้น</td>
</tr>
<tr>
<td><b>ระบบ RBX</b></td>
<td><code>Class.TextChannel</code> สำหรับข้อความระบบในหน้าต่างแชทข้อความจะได้รับการแก้ไขให้เป็นสีเทาอ่อนโดยค่าเริ่มต้นหรือสีแดงโดยค่าเริ่มต้นหาก Class.TextChatMessage.Metadata มีคำว่า "Error"</td>
</tr>
<tr>
<td><b>ทีม RBX[สีอิฐ]</b></td>
<td><code>Class.TextChannel</code> สำหรับข้อความผู้เล่นทีมเฉพาะ สร้างเมื่อ <code>Class.Team.TeamColor|TeamColor</code> ใช้งานโดย <code>Class.Team</code> ภายในบริการ <code>Class.Teams</code>ชื่อช่องที่สร้างขึ้นคือ <b>RBXTeam</b> ตามด้วยชื่อ <code>Class.Team.TeamColor|TeamColor</code>ตัวอย่างเช่น RBXTeamCrimson เป็น Class.TextChannel ที่สร้างขึ้นเมื่อมีทีมที่ใช้งานอยู่ซึ่ง Class.Team.TeamColor|TeamColor คุณสมบัติเป็น "Crimson" Datatype.BrickColor ในหน้าต่างแชท ข้อความจะได้รับการแก้ไขให้เป็นสีตาม Class.TextChatMessage.PrefixText|PrefixText และถูกเพิ่มด้วย [ทีม] ช่องทีมสร้าง Class.TextSource|Textources สำหรับผู้เล่นทั้งหมดที่ไม่ใช่ Class.Player.Neutral|Neutral ที่มีคุณสมบัติตรงกับ Class.Team.TeamColor|TeamColor ซึ่งทำให้พวกเขาสามารถใช้งานแชททีมได้ช่องจะถูกลบออกหากไม่มีทีมที่เหลืออยู่ที่มีคลาส <code>Class.Team.TeamColor|TeamColor</code> ที่เกี่ยวข้อง</td>
</tr>
<tr>
<td><b>RBXWhisper:[Username1]_[Username2]</b></td>
<td><code>Class.TextChannel</code> สําหรับข้อความกระซิบระหว่างสองผู้เล่นที่สร้างขึ้นเมื่อผู้เล่นใช้คําสั่ง <code>/whisper</code> กับผู้เล่นอีกคนตัวอย่างเช่น <b>RBXWhisper:2276836_505306092</b> เป็น <code>Class.TextChannel</code> สำหรับผู้เล่นที่มี <code>Class.Player.UserId|UserIds</code><b>2276836</b> และ <b>505306092</b>ภายในช่องกระซิบมีสอง Class.TextSource|Textources ที่เกี่ยวข้องกับ Class.Player.UserId|UserIds ที่เกี่ยวข้องกับแต่ละ Class.TextChatMessage.PrefixText ในหน้าต่างแชทข้อความจะมีสีเดียวกับข้อความที่มีอยู่ใน RBXGeneral และ Class.TextChatMessage.PrefixText จะได้รับการแก้ไขเพื่อแสดงว่าข้อความถูกส่งหรือได้รับจากผู้ใช้ท้องถิ่นหรือไม่Whisper ช่องจะถูกลบออกเมื่อผู้เล่นออกจากประสบการณ์</td>
</tr>
</tbody>
ช่อง

โปรดทราบว่าค่าเรียกกลับเริ่มต้น TextChannel.OnIncomingMessage สามารถเขียนทับได้โปรดทราบว่าคุณสามารถแก้ไข สร้าง และลบ TextChannels แม้ว่า CreateDefaultTextChannels จะเป็นจริงก็ตาม

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

วิธีการ

DisplayBubble

()

แสดงฟองข้อความบนส่วนหรือตัวละครผู้เล่นที่ให้ไว้ และยิงเหตุการณ์ BubbleDisplayed ด้วยพารามิเตอร์ที่ระบุไว้ในวิธีนี้สามารถแสดงฟองอากาศสำหรับตัวละครที่ไม่ใช่ผู้เล่น (NPC) หากคุณระบุส่วนหนึ่งภายในตัวละคร เช่น หัวของมัน

โปรดทราบว่าวิธีนี้ใช้ได้เฉพาะใน LocalScript หรือใน Script ที่มี RunContext ของ Enum.RunContext.Client

พารามิเตอร์

partOrCharacter: Instance

ส่วนหรือตัวละครที่ฟองจะแสดงข้างบน

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

ข้อความที่จะแสดงในฟองแชท

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

ส่งค่ากลับ

()

CanUserChatAsync

ผลตอบแทน

กำหนดว่าผู้ใช้มีสิทธิ์ในการแชทในประสบการณ์หรือไม่ปัจจัยเช่นการตั้งค่าการควบคุมของผู้ปกครองอาจป้องกันไม่ให้ผู้ใช้ส่งข้อความข้อผิดพลาดหากรหัสผู้ใช้ไม่อยู่ในเซิร์ฟเวอร์ปัจจุบันโปรดทราบว่าวิธีนี้สามารถใช้กับผู้เล่นปัจจุบันทั้งหมด UserIds ใน Script ด้วย RunContext ของ Enum.RunContext.Server หรือ Enum.RunContext.Legacy .วิธีนี้ยังสามารถใช้ใน LocalScript แต่เฉพาะกับ UserId ของผู้เล่นท้องถิ่นเท่านั้น

พารามิเตอร์

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

ส่งค่ากลับ

CanUsersChatAsync

ผลตอบแทน

กำหนดว่าผู้ใช้สองคนจะได้รับข้อความระหว่างกันหรือไม่ปัจจัยเช่นการตั้งค่าการควบคุมผู้ปกครองที่ไม่สอดคล้องหรือสถานะถูกบล็อกอาจป้องกันการส่งข้อความระหว่างผู้ใช้ TextChannels ใช้ผลลัพธ์นี้ภายในเพื่อตรวจสอบว่าจะส่งข้อความระหว่างผู้ใช้หรือไม่โปรดทราบว่าวิธีนี้ใช้ได้เฉพาะใน Script กับ RunContext ของ Enum.RunContext.Server หรือ Enum.RunContext.Legacy เท่านั้น

พารามิเตอร์

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

ส่งค่ากลับ

CanUsersDirectChatAsync

ผลตอบแทน

กำหนดว่าผู้ใช้มีสิทธิ์ในการแชทโดยตรงกับผู้ใช้รายอื่นในประสบการณ์ตามการตั้งค่าการควบคุมของพ่อแม่ของพวกเขา จะใช้เมื่อ:

  • สายการสื่อสารเป็นการเริ่มการสื่อสารจากผู้ใช้ (ไม่ใช่การเริ่มการสื่อสารจากนักพัฒนาหรือเกม)
  • การเข้าถึงการสื่อสารถูกปิดและจำกัด

ตัวอย่างของการแชทโดยตรงคือช่องกระซิบระหว่างสองผู้ใช้

ผลการค้นหา

เมื่อสร้าง TextChannel สำหรับการแชทโดยตรงใช้ TextChannel:SetDirectChatRequester() เพื่อตั้งค่า requesterUserId เพื่อให้ช่องสามารถกำหนดได้ว่าจะส่งข้อความระหว่างผู้ใช้หรือไม่เมื่อ TextChannel.DirectChatRequester ไม่ใช่ null TextChannels ใช้ผลลัพธ์นี้ภายในเพื่อตรวจสอบว่าจะส่งข้อความระหว่างผู้ใช้หรือไม่


local whoCanDirectChat = TextChatService:CanUsersDirectChatAsync(requesterUserId, { userId1, userId2 })
if #whoCanDirectChat > 0 then
-- ผู้ร้องขอ URI สามารถสนทนากับ iPad1, iPad2 หรือทั้งสองได้
else
-- ผู้ขอใช้งานไม่สามารถสนทนาโดยตรงกับ userId1 หรือ userId2 ได้
end

โปรดทราบว่าวิธีนี้ใช้ได้เฉพาะใน Script กับ RunContext ของ Enum.RunContext.Server หรือ Enum.RunContext.Legacy เท่านั้น

พารามิเตอร์

requesterUserId: number

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

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

รายชื่อผู้ใช้ที่ผู้ขอใช้งาน userId ต้องการแชทโดยตรง ผู้ใช้ที่ไม่อยู่ในเซิร์ฟเวอร์ปัจจุบันจะถูกเพิกเฉย

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

ส่งค่ากลับ

รายชื่อผู้ใช้ที่สามารถมีส่วนร่วมในคำขอแชทโดยตรงหากไม่มีผู้ใช้รายใดสามารถสนทนากับผู้ร้องขอได้โดยใช้ requesterUserId ผลลัพธ์คือเปล่าว่างเปล่า

ตัวอย่างโค้ด

This example checks if two users can chat, creates a new TextChannel, and adds them to it.

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 )

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

พารามิเตอร์

textChatMessage: TextChatMessage

ที่ได้รับ TextChatMessage .


SendingMessage

จะเกิดไฟไหม้เมื่อ TextChannel:SendAsync() ถูกเรียกโดยไคลเอนต์ส่งใช้สิ่งนี้เพื่ออนุญาตให้ข้อความชั่วคราวปรากฏให้กับผู้ใช้ในขณะรอคำตอบจากเซิร์ฟเวอร์ TextChannel:SendAsync()

พารามิเตอร์

textChatMessage: TextChatMessage

The TextChatMessage จากการเรียก TextChannel:SendAsync()


Callbacks

OnBubbleAdded

เรียกเมื่อฟองการแชทกำลังจะแสดงขึ้น สิ่งนี้สามารถดำเนินการได้เฉพาะในไคลเอนต์เท่านั้น

ใช้สิ่งนี้เพื่อปรับแต่งข้อความแชทฟองสบู่แบบเฉพาะเจาะจงหากคอลเลกชันนี้ส่งกลับ BubbleChatMessageProperties คุณสมบัติเหล่านั้นจะถูกประยุกต์ใช้กับฟองอากาศที่เกี่ยวข้อง แทนที่คุณสมบัติ BubbleChatConfigurationหาก UICorner , UIGradient หรือ ImageLabel ได้รับการสืบทอดภายใต้ BubbleChatMessageProperties พวกเขาจะยกเลิกคู่แข่งที่กำหนดไว้ใน BubbleChatConfiguration ด้วย

หากข้อความแชทถูกส่งโดยผู้เล่น message.TextSource จะตรงกับผู้เล่นนั้น และ adornee จะเป็น nil

หากข้อความแชทถูกส่งผ่าน TextChatService:DisplayBubble() ข้อความ adornee จะเป็นข้อความ partOrCharacter ที่จัดให้ และ message.TextSource จะเป็น nil

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

พารามิเตอร์

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

adornee: Instance

ส่วนหรือตัวละครที่ข้อความแชทฟองอากาศถูกแนบมา


ส่งค่ากลับ

หาก BubbleChatMessageProperties ถูกส่งคืน คุณสมบัติของมันจะแทนที่คุณสมบัติของ BubbleChatConfiguration

OnChatWindowAdded

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

ใช้สิ่งนี้เพื่อปรับแต่งข้อความแต่ละข้อที่ปรากฏในหน้าต่างแชทหากคอลเลกชันนี้ส่งกลับ ChatWindowMessageProperties คุณสมบัติเหล่านั้นจะถูกนำไปใช้กับข้อความที่เกี่ยวข้อง แทนที่คุณสมบัติ ChatWindowConfigurationหาก UIGradient ได้รับการสืบทอดภายใต้ ChatWindowMessageProperties มันจะยังทำลายคุณสมบัติ TextColor3 ที่กำหนดไว้ใน ChatWindowConfiguration ด้วย

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

พารามิเตอร์

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


ส่งค่ากลับ

หาก ChatWindowMessageProperties ถูกส่งคืน คุณสมบัติของมันจะแทนที่คุณสมบัติของ ChatWindowConfiguration

OnIncomingMessage

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

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

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

โปรดทราบว่าการโทรกลับนี้ TextChatService.OnIncomingMessage จะเริ่มทำงาน ก่อน การโทรกลับใดๆ TextChannel.OnIncomingMessage

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

พารามิเตอร์

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


ส่งค่ากลับ

หากกลับ TextChatMessageProperties คุณสมบัติเหล่านั้นจะรวมกับพารามิเตอร์ TextChatMessage เพื่อสร้าง TextChatMessage ใหม่ที่มีคุณสมบัติเหล่านั้น มิฉะนั้นหาก nil ถูกส่งกลับแล้วจะไม่มีการเปลี่ยนแปลง TextChatMessage