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
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
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.