TextChatService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Sebuah layanan menangani obrolan teks dalam pengalaman, termasuk mengelola saluran, menghiasi pesan, menyaring teks, membuat perintah, dan mengembangkan antarmuka obrolan khusus.
Untuk belajar lebih lanjut, lihat Chat Teks dalam Pengalaman.
Rangkuman
Properti
Mengidentifikasi apakah akan sepenuhnya mengaktifkan TextChatService atau kembali ke sistem chat warisan.
Menentukan apakah TextChatService harus membuat default TextChatCommands .
Menentukan apakah TextChatService harus membuat default TextChannels .
Metode
Menampilkan gelembung obrolan di atas bagian atau karakter pemain yang disediakan.
Menguraikan apakah pengguna memiliki izin untuk mengobrol langsung dengan pengguna lain dalam pengalaman berdasarkan pengaturan kontrol orangtua mereka.
Acara
Dibakar saat TextChatService:DisplayBubble() dipanggil.
Diaktifkan ketika TextChannel:DisplaySystemMessage() dinyatakan di klien, atau ketika klien menerima jawaban TextChannel:SendAsync() yang valid dari server.
Dibakar saat TextChannel:SendAsync() dibanggil oleh klien pengirim.
Callback
Panggil ketika obrolan gelembung akan ditampilkan.
Dipanggil ketika pesan baru akan ditampilkan di jendela chat. Ini hanya dapat dilaksanakan di klien.
Panggil dibandingkan dengan TextChatService menerima pesan yang masuk.
Properti
ChatTranslationEnabled
ChatVersion
Mengatur apakah akan sepenuhnya mengaktifkan TextChatService atau kembali ke sistem chat warisan. Mengatur property ini ke Enum.ChatVersion.LegacyChatService menonaktifkan TextChatService .
CreateDefaultCommands
Menentukan apakah TextChatService harus membuat default TextChatCommands .
Jika benar, maka berikut TextChatCommands dibuat dan ditempatkan dalam Folder bernama TextChatCommands di dalam 1> Class.TextChatService1> :
<tbody><tr><td><b>RBXClearCommand ]</b></td><td>hapus</td><td>klas</td><td>Bersihkan catatan chat untuk pengguna lokal.</td><td><code>/klasik</code></td></tr><tr><td><b>RBXKonsolKomando</b></td><td>konsol</td><td /><td>Membuka Konsol Pengembang.</td><td><code>/console</code></td></tr><tr><td><b>RBXEmoteCommand.</b></td><td>emote</td><td>e</td><td>Memainkan emote avatar.</td><td><code>/e menari</code></td></tr><tr><td><b>RBXHelpCommand ]</b></td><td>bantu</td><td>?</td><td>Menunjukkan daftar perintah chat.</td><td><code>/tolong</code></td></tr><tr><td><b>RBXMuteCommand ]</b></td><td>bisukan</td><td>m</td><td>Mute seorang pengguna oleh <code>Class.Player.Name|Name</code> atau <code>Class.Player.DisplayName|DisplayName</code> di semua <code>Class.TextChannel|TextChannels</code>.</td><td><code>/m Nama Pengguna</code></td></tr><tr><td><b>RBXTeamCommand</b></td><td>tim</td><td>t</td><td>Memasuki mode chat tim di mana pesan hanya terlihat bagi rekan tim.</td><td><code>/t</code></td></tr><tr><td><b>RBXUnmuteCommand ]</b></td><td>bunyikan</td><td>um</td><td>Mute pengguna oleh <code>Class.Player.Name|Name</code> atau <code>Class.Player.DisplayName|DisplayName</code> di semua <code>Class.TextChannel|TextChannels</code>.</td><td><code>/um Nama Pengguna</code></td></tr><tr><td><b>RBXVersionCommand</b></td><td>versi</td><td>v</td><td>Menunjukkan versi chat.</td><td><code>/versi</code></td></tr><tr><td><b>RBXWhisperCommand ]</b></td><td>chat privat</td><td>w</td><td>Masuk ke mode mendengus dengan <code>Class.Player</code> lainnya.</td><td><code>/w Nama Layar</code> atau <code>/w @Username</code></td></tr></tbody>
Nama | Aliasi Utama | Aliasi Sekunder | Deskripsi | Contoh Penggunaan |
---|
Catat bahwa Anda dapat mengedit, membuat, dan menghapus TextChatCommands bahkan jika CreateDefaultCommands benar. Juga perhatikan bahwa perintah mute dan tidak mute berlaku untuk semua TextChannels .
CreateDefaultTextChannels
Mengidentifik
<tbody><tr><td><b>RBXGeneral</b></td><td><code>Class.TextChannel</code> untuk pesan pemain. Di jendela chat, pesan diubah sehingga <code>Class.TextChatMessage.PrefixText|PrefixText</code> menerima warnai nama pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain p</td></tr><tr><td><b>RBXSystem</b></td><td><code>Class.TextChannel</code> untuk pesan sistem. Di jendela chat, pesan diubah sehingga <code>Class.TextChatMessage.Text</code> diberi label warna gelap sebagai default, atau tag warna merah jika <code>Class.TextChatMessage.Metadata</code> berisi kata 0>“Error”0> .</td></tr><tr><td><b>RBXTeam \[BrickColor]</b></td><td><code>Class.TextChannel</code> untuk pesan khusus pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain pemain</td></tr><tr><td><b>RBXWhisper:\[UserId1]\_\[UserId2]</b></td><td><code>Class.TextChannel</code> untuk pesan menggur antara dua pemain, dibuat ketika seorang pemain menggunakan perintah</td></tr></tbody>
Saluran | Deskripsi |
---|
Catat bahwa panggilan kembali TextChannel.OnIncomingMessage default dapat ditulis ulang. Juga catat bahwa Anda dapat mengedit, menghapus, dan menambahkan TextChannels bahkan jika CreateDefaultTextChannels benar.
Pesan dari berbagai TextChannels dapat dibagi menjadi berbagai tab di jendela chat menggunakan ChannelTabsConfiguration .
Metode
DisplayBubble
Menampilkan gelembung obrolan di atas bagian atau karakter pemain yang disediakan, dan mengeksekusi acara BubbleDisplayed dengan parameter yang ditentukan dalam metode ini. Dapat menampilkan gelembung untuk karakter non-player (NPC) jika Anda menyebutkan bagian dalam karakter, seperti kepalanya.
Catat bahwa metode ini hanya tersedia untuk penggunaan di LocalScript , atau di Script dengan RunContext dari 1> Ennum.RunContext.Client1> .
Parameter
Bagian atau karakter yang gelembung untuk ditampilkan di atas.
Teks yang akan ditampilkan dalam gelembung obrolan.
Memberikan nilai
CanUsersDirectChatAsync
Menguraikan apakah pengguna memiliki izin untuk mengobrol langsung dengan pengguna lain dalam pengalaman berdasarkan pengaturan kontrol orangtua mereka. Untuk digunakan ketika:
- Baris komunikasi diinisiasi oleh pengguna (bukan pengembang atau gameplay yang memulai)
- Akses ke komunikasi ditutup dan terbatas
Parameter
Memberikan nilai
Contoh Kode
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
Acara
MessageReceived
Seperti TextChannel.MessageReceived, menyala ketika TextChannel:DisplaySystemMessage() dianggap di klien, atau ketika klien menerima jawaban TextChannel:SendAsync() yang valid dari server. Acara ini hanya diaktifkan di klien.
Jika properti server TextChannel.ShouldDeliverCallback terikat dan mengembalikan false, klien tidak akan mengeksekuskan TextChatService.MessageReceived .
Gunakan parameter TextChatMessage untuk mendapatkan TextSource dan teks pesan (dengan TextChatMessage.Text).
Parameter TextChatMessage adalah hasil akhir dari fungsi apa pun yang terikat dengan TextChatService.OnIncomingMessage atau TextChannel.OnIncomingMessage .
Parameter
Class.TextChatMessage diterima.
SendingMessage
Dibakar saat TextChannel:SendAsync() dikalakan oleh klien pengirim. Gunakan ini untuk memungkinkan pesan pengganti tampilan kepada pengguna saat menunggu balasan server ke TextChannel:SendAsync() .
Parameter
Class.TextChatMessage dari TextChannel:SendAsync() panggilan.
Callback
OnBubbleAdded
Panggil ketika obrolan gelembung akan ditampilkan. Ini hanya dapat dilaksanakan di klien.
Gunakan ini untuk menyesuaikan pesan obrolan gelembung individual. Jika panggilan ini mengembalikan BubbleChatMessageProperties, maka elemen ini akan diterapkan
Jika pesan chat dikirim oleh seorang pemain, message.TextSource akan sesuai dengan pemain itu, dan adornee akan menjadi nil .
Jika pesan chat dikirim melalui TextChatService:DisplayBubble() , adornee akan menjadi partOrCharacter yang diberikan, dan 1> message.TextSource1> akan menjadi 4> nil4> .
Parameter
Class.TextChatMessage yang masuk.
Bagian atau karakter dari pesan obrolan gelembung yang diikuti.
Memberikan nilai
Jika TextChatMessage dikembalikan, karakteristik tersebut akan diterapkan pada gelembung yang terkait, menggeser BubbleChatConfiguration karakteristik.
OnChatWindowAdded
Dipanggil ketika pesan baru akan ditampilkan di jendela chat. Ini hanya dapat dilaksanakan di klien.
Gunakan ini untuk menyesuaikan pesan tunggal yang muncul di jendela chat. Jika panggilan ini mengembalikan ChatWindowMessageProperties, maka elemen tersebut akan diterapkan ke pesan tertaut
Parameter
Class.TextChatMessage yang masuk.
Memberikan nilai
Jika TextChatMessage dikembalikan, karakteristik tersebut akan diterapkan pada pesan yang terkait, menggeser ChatWindowConfiguration karakteristik.
OnIncomingMessage
Panggil ketika TextChatService menerima pesan yang masuk. Hanya dapat dilaksanakan di klien.
Gunakan ini untuk menghias TextChatMessages . Jika panggilan ini mengembalikan TextChatMessageProperties , property ini di gabung dengan parameter TextChatMessage untuk menciptakan kumpulan baru 1> Class.TextChatMessage1> .
Ketika terikat pada klien mengirim pesan, panggilan kembali ini dijalankan dua kali; pertama ketika pesan awalnya dikirim dan diterima lokalmente, dan lagi ketika klien menerima hasil pesan yang disaring dari server.
Catat bahwa panggilan kembali ini TextChatService.OnIncomingMessage berjalan sebelum Class.TextChannel.OnIncomingMessage panggilan kembali.
Ini harus di definisikan hanya sekali dalam kode sumber. Beberapa bind akan bertabrakan satu sama lain secara tidak deterministik.
Parameter
Class.TextChatMessage yang masuk.
Memberikan nilai
Jika TextChatMessageProperties dikembalikan, maka elemen tersebut di gabung dengan parameter TextChatMessage untuk membuat TextChatMessage baru dengan elemen tersebut, jika 1> nil1> dikembalikan, maka 4> Class.TextChatMessage4> tidak berubah