โมดูลแชทด้านเซิร์ฟเวอร์

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

คุณสามารถใช้โมดูลแชทต่อไปนี้เพื่อสนับสนุนพฤติกรรมด้านเซิร์ฟเวอร์ของระบบแชทเก่า ๆ รวมถึง:

  • ChatService : โซลูชันเดี่ยวที่จัดการโมดูลแชทอื่น ๆ ทั้งหมด
  • ChatSpeaker : เอนทิตีที่อาจสร้างข้อความในช่องแชท; แต่ละ Player จะมี ChatSpeaker โดยอัตโนมัติและบอทสามารถแชทได้โดยการสร้าง ChatSpeakers
  • ข้อความแชท : คอนเทนเนอร์สำหรับเนื้อหาที่ ChatSpeaker ส่งไปยัง ChatChannel; มีเมตาดาตาที่ใช้ในการรูปแบบข้อความหรือเพิ่มฟังก์ชันเสริมให้กับคําสั่ง
  • ช่องแชท : ช่องที่ ChatSpeakers สามารถแลกเปลี่ยนข้อความแชทได้; ใช้สำหรับการแชททีมและการแชทกระซิบเช่นกัน

บริการแชท

ChatService เป็นวัตถุโดดเดี่ยวที่จัดการพฤติกรรมด้านเซิร์ฟเวอร์ของระบบแชท Lua เช่น ChatChannels และ ChatSpeakers

ทั้งหมด ModuleScript ภายในโฟลเดอร์ ChatModules ควรจะส่งคืนฟังก์ชันและฟังก์ชันนั้นจะถูกเรียกด้วยโซลเดียนของ ChatService

วิธีการ

เพิ่มช่องทาง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: สร้างวัตถุ ChatChannel ด้วยชื่อที่กำหนดและส่งคืนมัน
  • การ返回: ช่องแชท

ลบช่อง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ลบช่องที่มีชื่อที่กำหนดไว้
  • การคืน: วองเปล่า

รับช่องทาง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ส่งคืนช่องที่มีชื่อที่กำหนด หรือ nil หากไม่มีอยู่
  • การ返回: ช่องแชท

เพิ่มลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: สร้างและเพิ่มลำโพงในการแชทด้วยชื่อที่กำหนดแล้วจากนั้นจะส่งคืนมัน
  • การ返回:: ChatSpeaker

ลบลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ลบลำโพงออกจากการแชทด้วยชื่อที่กำหนด
  • การคืน: วองเปล่า

รับลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ส่งผู้พูดที่มีชื่อที่กำหนด หรือ nil หากไม่มี
  • การ返回:: ChatSpeaker

รับรายการช่องทางได้

  • พารามิเตอร์: ไม่มี
  • คําอธิบาย: ส่งคืนรายการชื่อของช่องทั้งหมดที่ไม่ใช่ส่วนตัวในการแชท
  • การคืน: รายการ < string >

รับรายการช่องเข้าร่วมอัตโนมัติ

  • พารามิเตอร์: ไม่มี
  • คําอธิบาย: ส่งคืนรายการชื่อของช่องทั้งหมดในการแชทที่ตั้งค่า AutoJoin เป็นจริง
  • การคืน: รายการ < string >

ลงทะเบียนฟังก์ชันข้อความกรอง

  • พารามิเตอร์: string : functionId , ฟังก์ชัน : func
  • คําอธิบาย: ลงทะเบียนฟังก์ชันตัวกรองในการแชทที่ระบุโดย functionId .การเปลี่ยนแปลงใดๆ ในข้อความจะยังคงอยู่และแสดงเมื่อข้อความผ่านฟังก์ชันการกรองอื่นๆ ทั้งหมดฟังก์ชันนี้ส่งชื่อของลำโพง วัตถุข้อความ และช่องที่ข้อความเริ่มต้นมา
  • การคืน: วองเปล่า
  • ตัวอย่าง:

-- ใส่ตัวอย่างนี้ลงใน ModuleScript ภายในโฟลเดอร์ ChatModules
-- ตัวอย่างนี้กรองคำหลักและหากสําเร็จจะตั้งค่า chatColor ของข้อความ
local functionId = "greenText"
local keyword = "#green"
local chatColor = Color3.new(0, 1, 0) -- สีเขียว
local function doFilter(speaker, messageObject, channelName)
-- ตรวจสอบว่าข้อความมีคำหลักหรือไม่
local start, finish = string.find(messageObject.Message, keyword)
if start and finish then
-- ลบ (ตัวกรอง) คําหลักออกจากข้อความและตั้งค่า ChatColor
messageObject.Message = string.gsub(messageObject.Message, keyword, "")
messageObject.ExtraData.ChatColor = chatColor
end
end
local function runChatModule(ChatService)
ChatService:RegisterFilterMessageFunction(functionId, doFilter)
end
return runChatModule

ฟังก์ชันข้อความกรองลงทะเบียนไม่ได้

  • พารามิเตอร์: string : functionId
  • คําอธิบาย: ไม่ลงทะเบียนฟังก์ชันตัวกรอง (ลงทะเบียนโดย RegisterFilterMessageFunction) โดยให้รหัสระบุของมัน functionId
  • การคืน: วองเปล่า

ลงทะเบียนโปรเซสคําสั่งฟังก์ชัน

  • พารามิเตอร์: string : functionId , ฟังก์ชัน : func
  • คําอธิบาย: ลงทะเบียนฟังก์ชันคําสั่งของกระบวนการไปยังแชทที่ระบุโดย functionId .ก่อนที่จะมีการกรองข้อความ มันจะผ่าน func (และฟังก์ชันอื่นๆ ที่ลงทะเบียนโดยสิ่งนี้)ฟังก์ชัน func ควรตรวจสอบว่าข้อความเรียกใช้คำสั่งหรือไม่หากเป็นเช่นนั้น ทำการดำเนินการของคำสั่งและส่งคืนความจริงการกลับคืนค่าจริงบ่งชี้ว่าข้อความเป็นคำสั่งจริงและไม่ควรแสดงออกฟังก์ชันสามารถยกเลิกการลงทะเบียนได้โดยใช้ UnregisterProcessCommandsFunction
  • การคืน: วองเปล่า
  • ตัวอย่าง:

-- ใส่ตัวอย่างนี้ลงใน ModuleScript ภายในโฟลเดอร์ ChatModules
local functionId = "getPizza"
local command = "/pizza"
local toolId = 22596452 -- อุปกรณ์
local function processCommand(speakerName, message, channelName)
if string.sub(message, 1, command:len()) == command then
local model = game:GetService("InsertService"):LoadAsset(toolId)
local tool = model:GetChildren()[1]
local speaker = ChatService:GetSpeaker(speakerName)
local player = speaker:GetPlayer()
tool.Parent = player.Backpack
return true
end
return false
end
local function runChatModule(ChatService)
ChatService:RegisterProcessCommandsFunction(functionId, processCommand)
end
return runChatModule

ฟังก์ชันคําสั่งลบลงทะเบียนไม่ได้

อีเวนต์

เพิ่มช่อง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ไฟเมื่อช่องถูกเพิ่มลงในแชท

ลบช่องแล้ว

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ไฟเมื่อช่องถูกลบออกจากการแชท

เพิ่มลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: จะเกิดไฟไหม้เมื่อมีการเพิ่มลำโพงในการแชท

ลำโพงถูกลบ

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: เกิดไฟไหม้เมื่อลำโพงถูกลบออกจากการแชท

แชทสปีกเกอร์

A ChatSpeaker คือการแสดงของหนึ่งเอนทิตีที่อาจพูดใน ChatChannelแต่ละ Player เชื่อมต่อกับเกมโดยอัตโนมัติมี ChatSpeaker ที่เกี่ยวข้องสปีกเชอร์เพิ่มเติมอาจถูกสร้างขึ้นสำหรับผู้ใช้ที่ไม่ใช่ (เช่นผู้ประกาศหรือข้อความเคล็ดลับ) โดยใช้ ChatService:AddSpeaker()

คุณสมบัติ

ชื่อ

  • ประเภท: string : Name
  • คําอธิบาย: ชื่อของผู้พูดที่ใช้ในการอ้างอิงถึงผู้พูดรายนี้ในขณะที่เรียกฟังก์ชันอื่น ๆ จํานวนมาก

วิธีการ

เข้าร่วมช่อง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: เพิ่มลำโพงในช่องด้วย channelName ที่กำหนด
  • การคืน: วองเปล่า

ปล่อยช่องทาง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ลบลำโพงออกจากช่องด้วย channelName ที่กำหนด
  • การคืน: วองเปล่า

รับรายการช่องทางได้

  • พารามิเตอร์: ไม่มี
  • คําอธิบาย: ส่งคืนรายการชื่อของช่องทั้งหมดที่ผู้พูดอยู่
  • การคืน: รายการ < string >

อยู่ในช่องทาง IsInChannel

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ส่งคืนว่าผู้พูดอยู่ในช่องด้วย channelName ที่กำหนดหรือไม่
  • การคืน: bool

พูดข้อความ

  • พารามิเตอร์: string : message , string : channelName , สารานุกรม< string , ตัวแปร> extraData
  • คําอธิบาย: ทําให้ผู้พูดพูด message และส่งคืนวัตถุ ข้อความแชท ที่สร้างขึ้นในการทําเช่นนั้น

ส่งข้อความ

  • พารามิเตอร์: : , : , : , :
  • คําอธิบาย: ส่งข้อความไปยัง ChatSpeaker ด้วยชื่อที่กำหนด fromSpeakerหากไม่มีลำโพงดังกล่าวอยู่ในช่อง วิธีนี้จะสร้างคําเตือนและลำโพงจะไม่เห็นข้อความ
  • การคืน: วองเปล่า

ส่งข้อความระบบ

  • พารามิเตอร์: string : message , string : channelName
  • คําอธิบาย: ส่งข้อความระบบไปยัง ChatChannel ด้วย channelName ที่กำหนดหากลำโพงไม่อยู่ในช่อง ข้อความนี้จะสร้างคําเตือนและลำโพงอื่นๆ ในช่องจะไม่เห็นข้อความ
  • การคืน: วองเปล่า

รับผู้เล่น

  • พารามิเตอร์: ไม่มี
  • คําอธิบาย: ส่งคืนวัตถุ Player ที่เกี่ยวข้องกับลำโพงหากลำโพงไม่ใช่สำหรับผู้ใช้ (บอท) แล้วสิ่งนี้จะคืน nil
  • การคืน: Player หรือ nil

ตั้งค่าข้อมูลเพิ่มเติม

  • พารามิเตอร์: string : key , ตัวแปร data
  • คําอธิบาย: ตั้งข้อมูลเพิ่มเติมบางอย่างสําหรับผู้พูดภายใต้ key เฉพาะเมื่อใดก็ตามที่ผู้พูดส่ง ข้อความแชท ข้อมูลเพิ่มเติมนี้จะถูกแนบไปกับข้อความถ้าไม่มีให้โดยเฉพาะกับข้อความตัวอย่างเช่น ตั้งค่า
  • การคืน: วองเปล่า

รับข้อมูลเพิ่มเติม

  • พารามิเตอร์: string : key
  • คำอธิบาย: ส่งคืนข้อมูลเพิ่มเติมที่เกี่ยวข้องกับ key ที่กำหนด โดยใช้ SetExtraData
  • การคืน: ตัวแปร

ตั้งช่องหลัก

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ตั้งค่าลำโพงให้พูดในช่องที่ให้ไว้ ยิง MainChannelSet
  • การคืน: nil

อีเวนต์

กล่าวว่าข้อความ

รับข้อความแล้ว

ได้รับข้อความระบบ

เข้าร่วมช่องแล้ว

  • พารามิเตอร์: string : channelName , string : channelWelcomeMessage
  • คําอธิบาย: ยิงเมื่อผู้พูดเข้าร่วม ChatChannel ด้วย channelName ที่กำหนด

ช่องซ้าย

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ยิงเมื่อผู้พูดออกจาก ช่องแชท ด้วย channelName ที่กําหนด

ปิดเสียง

  • พารามิเตอร์: string : channelName , string : reason = nil , int : duration = 0
  • คําอธิบาย: ยิงเมื่อผู้พูดถูกปิดเสียงบน ChatChannel ด้วย channelName ที่กําหนดให้เป็นระยะเวลาที่กําหนด (ถ้ามี)อาจมีหรือไม่มี reason ที่ให้ไว้

ปิดการปิดเสียง

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ยิงเมื่อลำโพงถูกปิดเสียงใน ChatChannel ด้วย channelName ที่กําหนด

ข้อมูลเพิ่มเติมอัปเดต

  • พารามิเตอร์: string : key , ตัวแปร data
  • คําอธิบาย: ยิงเมื่อค่าเริ่มต้นของคีย์ในข้อมูลเสริมของลำโพงได้รับการอัปเดตโดยใช้ SetExtraData

ชุดช่องหลัก

  • พารามิเตอร์: string : channelName
  • คําอธิบาย: ยิงเมื่อช่องหลักของลำโพงเปลี่ยนเป็น ChatChannel ด้วย channelName ที่กำหนด

ข้อความแชท

A ข้อความแชท เป็นโครงสร้างข้อมูลที่แทนที่ข้อความที่ส่งจาก ChatSpeakerมันมีข้อมูลเกี่ยวกับข้อความรวมถึงความยาวของข้อความว่าข้อความถูกกรองโดย Roblox หรือไม่และข้อมูลเพิ่มเติมเกี่ยวกับรูปลักษณ์ของข้อความ

คุณสมบัติ

ID

  • ประเภท: int
  • คําอธิบาย: ตัวระบุทางเลขที่ไม่ซ้ํากันสําหรับข้อความ

จากลำโพง

  • ประเภท: string :
  • คําอธิบาย: ชื่อของ ChatSpeaker ที่ส่งข้อความ

ช่องเดิม

  • ประเภท: string :
  • คําอธิบาย: ชื่อของ ChatChannel ซึ่งเป็นที่มาของข้อความ

กรองแล้ว

  • ประเภท: bool
  • คำอธิบาย: อธิบายว่าข้อความถูกกรองโดย Roblox (ถ้าเป็นจริงข้อความจะเป็น nil )

ระยะเวลาข้อความ

  • ประเภท: int
  • คําอธิบาย: ความยาวของข้อความ คุณสามารถใช้สิ่งนี้เพื่อสร้างสตริงที่ไม่ซ้ํากันหากข้อความถูกกรอง

ข้อความ

  • ประเภท: string : หรือ nil
  • คําอธิบาย: ข้อความของข้อความ คุณสมบัตินี้จะเป็น nil หาก IsFiltered เป็นจริง

ประเภทข้อความ

  • ประเภท: string :
  • คําอธิบาย: ประเภทของข้อความ ประเภทเหล่านี้จะได้รับการอธิบายในโมดูล ChatConstants:
  • ค่าที่เป็นไปได้: "Message" , "System" , "MeCommand" , "Welcome" , "SetCore" , "Whisper"

เวลา

  • ประเภท: int
  • คําอธิบาย: เวลาที่ไม่ซ้ํากัน; ค่าของ os.time() การสร้างสรรค์

ข้อมูลเสริม

  • ประเภท: สารานุกรม< string , ตัวแปร>
  • คําอธิบาย: สารบัญของเมตาดาตาสําหรับข้อความนี้ใช้เพื่อเปลี่ยนรูปลักษณ์ของข้อความกุญแจต่อไปนี้อาจปรากฏ:

ช่องแชท

ChatChannel เป็นวัตถุที่เก็บข้อมูลเกี่ยวกับช่องเดียวซึ่งเป็นวิธีที่ข้อความสามารถแลกเปลี่ยนได้ระหว่าง ChatSpeakersนอกจากนี้ยังมีคุณสมบัติสิทธิ์การเข้าถึงที่กำหนดความสามารถในการมองเห็นข้อความพร้อมกับว่าผู้ใช้สามารถเข้าร่วมหรือออกจากช่องได้ด้วยตนเอง (โดยใช้คำสั่ง /join หรือ /leave หรือไม่)

โดยค่าเริ่มต้นแต่ละผู้ใช้จะมี ChatSpeaker ที่จะถูกเพิ่มอัตโนมัติไปยังช่องแชท "ทั้งหมด" และ "ระบบ" (แม้ว่า "ระบบ" จะอ่านได้เท่านั้น)หากผู้ใช้อยู่บน Player.Team พวกเขาจะมีสิทธิ์เข้าถึงช่องสำหรับทีมนั้นเท่านั้น

คุณสมบัติ

ชื่อ

  • ประเภท: string
  • คําอธิบาย: ชื่อช่องที่ใช้เพื่ออ้างอิงถึงช่องในฟังก์ชันอื่น

ข้อความต้อนรับ

  • ประเภท: string
  • คําอธิบาย: ข้อความที่จะแสดงเมื่อผู้ใช้เข้าร่วมช่อง

เข้าร่วมได้

  • ประเภท: bool
  • คําอธิบาย: กําหนดว่าผู้ใช้สามารถเข้าร่วมช่องได้ด้วยตนเองโดยใช้คําสั่ง /joinผู้ใช้ยังสามารถเพิ่มไปยังช่องโดยใช้ ChatSpeaker:JoinChannel() หรือวิธีอื่นแม้ว่าคุณสมบัตินี้จะเป็นเท็จก็ตาม

สามารถเอาออกได้

  • ประเภท: bool
  • คําอธิบาย: กำหนดว่าผู้ใช้สามารถออกจากช่องได้ด้วยตนเองโดยใช้คําสั่ง /leaveผู้ใช้ยังคงสามารถถูกลบออกจากช่องโดยใช้ ChatSpeaker:LeaveChannel() หรือวิธีการอื่นแม้ว่าคุณสมบัตินี้จะเป็นเท็จก็ตาม

เข้าร่วมอัตโนมัติ

  • ประเภท: bool
  • คําอธิบาย: กําหนดว่าผู้เล่นของคุณ ChatSpeaker จะเข้าร่วมช่องโดยอัตโนมัติหรือไม่เมื่อเข้าร่วมเกมลำโพงที่ไม่ใช่ผู้ใช้จะไม่เข้าร่วมช่องโดยอัตโนมัติ แม้ว่าคุณสมบัตินี้จะเป็นจริง (คุณสามารถใช้ ChatSpeaker:JoinChannel() เพื่อทำเช่นนี้ได้)

ส่วนตัว

  • ประเภท: bool
  • คําอธิบาย: กําหนดว่าช่องจะถูกรวมอยู่ในรายการช่องที่ส่งคืนโดย ChatService:GetChannelList()นี่สำหรับการแชทเบาๆ และการแชททีม

วิธีการ

ลำโพงเตะ

  • พารามิเตอร์: string : speakerName , string : reason = nil
  • คําอธิบาย: ลบลำโพงที่มี speakerName ที่กำหนดจากช่อง ส่งข้อความไปยังทั้งผู้ใช้และช่องที่ผู้ใช้ถูกเตะออกหากมี reason จะระบุเหตุผลในข้อความ
  • การคืน: วองเปล่า

ปิดเสียงลำโพง

  • พารามิเตอร์: string : speakerName , string : reason = nil , intduration = 0
  • คําอธิบาย: ปิดเสียงลำโพงด้วย speakerName ที่กำหนดในช่องเป็นระยะเวลาที่กำหนดในวินาทีหาก duration เป็น nil หรือ 0 การปิดเสียงจะไม่มีกำหนดหาก reason ได้รับการจัดเตรียมแล้ว จะมีการส่งข้อความไปยังช่องด้วยเหตุผลที่ระบุ
  • การคืน: วองเปล่า

ยกเลิกการปิดเสียงลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ปิดการเปิดเสียงของลำโพงด้วย speakerName ที่กำหนดในช่อง
  • การคืน: วองเปล่า

เปิด/ปิดเสียงลำโพง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: อธิบายว่าวิทยากรที่มี speakerName ที่กำหนดอยู่ปัจจุบันถูกปิดเสียงในช่องหรือไม่
  • การคืน: bool

รับรายชื่อลำโพง

  • พารามิเตอร์: ไม่มี
  • คําอธิบาย: ส่งคืนรายการที่มีชื่อทั้งหมดหากชื่อของ ChatSpeaker อยู่ในช่องในปัจจุบัน
  • การคืน: รายการ < string >

ส่งข้อความระบบ

  • พารามิเตอร์: string : message
  • คําอธิบาย: ส่งข้อความจาก "ระบบ" ChatSpeaker ไปยังช่อง
  • การคืน: วองเปล่า

ลงทะเบียนฟังก์ชันข้อความกรอง

  • พารามิเตอร์: string : functionId , ฟังก์ชันfunc
  • คําอธิบาย: ลงทะเบียนฟังก์ชันตัวกรอง, func , ระบุโดย functionId ไปยังช่องฟังก์ชันตัวกรองจะถูกเรียกด้วย ChatSpeaker , ChatMessage และ string : ชื่อช่องที่ข้อความเริ่มต้นมาการเปลี่ยนแปลงของข้อความจะยังคงอยู่และจะแสดงหลังจากการกรอง
  • การคืน: วองเปล่า
  • ตัวอย่าง:

-- ใส่ตัวอย่างนี้ลงใน ModuleScript ภายในโฟลเดอร์ ChatModules
local functionId = "getPizza"
local command = "/pizza"
local toolId = 22596452 -- อุปกรณ์
local function processCommand(speakerName, message, channelName)
if string.sub(message, 1, command:len()) == command then
local model = game:GetService("InsertService"):LoadAsset(toolId)
local tool = model:GetChildren()[1]
local speaker = ChatService:GetSpeaker(speakerName)
local player = speaker:GetPlayer()
tool.Parent = player.Backpack
return true
end
return false
end
local function runChatModule(ChatService)
ChatService:RegisterProcessCommandsFunction(functionId, processCommand)
end
return runChatModule

ฟังก์ชันข้อความกรองลงทะเบียนไม่ได้

  • พารามิเตอร์: string : functionId
  • คําอธิบาย: ไม่ลงทะเบียนฟังก์ชันตัวกรอง (ลงทะเบียนโดย RegisterFilterMessageFunction) โดยให้รหัสระบุของมัน functionId
  • การคืน: วองเปล่า

ลงทะเบียนโปรเซสคําสั่งฟังก์ชัน

  • พารามิเตอร์: string : functionId , ฟังก์ชันfunc
  • คําอธิบาย: ลงทะเบียนฟังก์ชันคําสั่งของกระบวนการ, func , ระบุโดย functionId ในการแชทก่อนที่จะมีการกรองข้อความ มันจะผ่าน func (และฟังก์ชันอื่นๆ ที่ลงทะเบียนโดยฟังก์ชันนี้)ฟังก์ชัน func ควรตรวจสอบว่าข้อความเรียกใช้คำสั่งหรือไม่หากเป็นเช่นนั้น ทำการดำเนินการของคำสั่งและส่งคืนความจริงการกลับคืนค่าจริงบ่งชี้ว่าข้อความเป็นคำสั่งจริงและไม่ควรแสดงออกฟังก์ชันสามารถยกเลิกการลงทะเบียนได้โดยใช้ UnregisterProcessCommandsFunction
  • การคืน: วองเปล่า
  • ตัวอย่าง:

-- ใส่ตัวอย่างนี้ลงใน ModuleScript ภายในโฟลเดอร์ ChatModules
-- ตัวอย่างนี้กรองคำหลักและหากสําเร็จจะตั้งค่า chatColor ของข้อความ
local functionId = "greenText"
local keyword = "#green"
local chatColor = Color3.new(0, 1, 0) -- สีเขียว
local function doFilter(speaker, messageObject, channelName)
-- ตรวจสอบว่าข้อความมีคำหลักหรือไม่
local start, finish = string.find(messageObject.Message, keyword)
if start and finish then
-- ลบ (ตัวกรอง) คําหลักออกจากข้อความและตั้งค่า ChatColor
messageObject.Message = string.gsub(messageObject.Message, keyword, "")
messageObject.ExtraData.ChatColor = chatColor
end
end
local function runChatModule(ChatService)
-- สร้างช่องและลงทะเบียนฟังก์ชันตัวกรอง
local testChannel = ChatService:AddChannel("TestChannel")
testChannel:RegisterFilterMessageFunction(functionId, doFilter)
end
return runChatModule

ฟังก์ชันคําสั่งลบลงทะเบียนไม่ได้

  • พารามิเตอร์: string : functionId
  • คําอธิบาย: ยกเลิกการลงทะเบียนตัวประมวลผลคําสั่ง (ลงทะเบียนโดย RegisterProcessCommandsFunction) โดยใช้ตัวระบุ, functionId
  • การคืน: วองเปล่า

อีเวนต์

โพสต์ข้อความ

  • พารามิเตอร์: ข้อความแชท : message
  • คําอธิบาย: ไฟเมื่อข้อความถูกโพสต์ในช่อง

สปีกเกอร์เข้าร่วม

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ไฟเมื่อ ChatSpeaker เข้าร่วมช่อง

ลำโพงซ้าย

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ไฟเมื่อ ChatSpeaker ออกจากช่อง

ลำโพงถูกปิดเสียง

  • พารามิเตอร์: string : speakerName , string : reason , intduration = 0
  • คําอธิบาย: จะเกิดไฟไหม้เมื่อ ChatSpeaker ถูกปิดกั้นในช่อง

ลำโพงปิดเสียง

  • พารามิเตอร์: string : speakerName
  • คําอธิบาย: ไฟไหม้เมื่อ ChatSpeaker ถูกปิดการใช้งาน

ในหน้านี้