Chat

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス
複製されていません

チャット サービスは、レガシーチャットシステム を実行する Luau コードをホストしています。StarterPlayerScripts と同様、デフォルトのオブジェクト (ScriptsModuleScripts ) がサービスに挿入されます。

概要

プロパティ

  • 並列読み取り

    プレイヤーのチャットメッセージがゲーム内のアバターの上に表示されるかどうかを決定します。

  • アクセスできないセキュリティ
    並列読み取り

    ゲームが実行されると、デフォルトのチャットフレームが自動的にロードされるかどうかを切り替えます。

方法

プロパティ

BubbleChatEnabled

並列読み取り

真の場合、チャットにメッセージを入力すると、プレイヤーの Player.Character 上にチャットバブルがポップアップします。この動作は、Studio でこのチェックボックスを直接チェックするか、LocalScript を使用して有効にすることができます:


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

これはクライアントで行わなければならず、サーバー側の Script でこの値を切り替えても効果がありません。

LoadDefaultChat

アクセスできないセキュリティ
並列読み取り

ゲームが実行されると、デフォルトのチャットフレームが自動的にロードされるかどうかを切り替えます。

方法

Chat

()

チャット機能は、このメソッドで指定されたパラメータで Chat.Chatted イベントを発動します。

デフォルトでは、各プレイヤーの オブジェクト内に BubbleChat という名前のダイアログのようなビルボードが表示され、チャットイベントが発動すると パートまたはキャラクター の上にそれが表示されます。

注: ダイアログはローカルスクリプトによって制御されるため、「プレイソロ」モードで実行していない限り、このメソッドから作成されたダイアログを見ることはできません。

パラメータ

partOrCharacter: Instance

バブルチャット ダイアログが上に表示されるべき部分またはキャラクターのインスタンス。

既定値: ""
message: string

チャット中のメッセージストリング。

既定値: ""

チャットメッセージの色を指定する Enum.ChatColor

既定値: "Blue"

戻り値

()

コードサンプル

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

InvokeChatCallback は、ChatCallbackType 列挙体と機能を送信するための引数を指定して、RegisterChatCallback に登録された関数を呼び出します。登録された関数の結果を返すか、登録された関数がない場合はエラーを発生させます。

この機能は Luau チャットシステムによって呼び出され、特定の機能の動作を変更するためにチャットコールバックを登録できます。デフォルトの Luau チャットシステムを自所有のものと置き換えていない限り、この関数を呼び出す必要はありません。詳細は、Chat:RegisterChatCallback() で異なるコールバック関数について読むことができます。

パラメータ

callbackType: Enum.ChatCallbackType

呼び出すコールバックの種類。

既定値: ""
callbackArguments: Tuple

登録されたコールバック関数に送信される引数。

既定値: ""

戻り値

チャットコールバックタイプに登録された関数によって返される値。

RegisterChatCallback

()

RegisterChatCallback は、Luau チャットシステムの動作に影響を与えるために、機能をいくつかのチャットシステムイベントにバインドします。最初の引数は、2番目の引数、機能、がバインドされるイベント (Enum.ChatCallbackType 枚数) を決定します。デフォルトの Luau チャットシステムは、InvokeChatCallback を使用して登録された関数を呼び出します。相手がサーバーまたはクライアントのみのコールバックを登録しようとするが、サーバーまたはクライアントではないのでエラーが発生する。次のセクションでは、登録された機能がどのように使用されるかを説明します。

チャットウィンドウを作成中OnCreatingChatWindow

クライアントのみ。クライアントがチャットウィンドウを構成する前に呼び出されます。チャット設定モジュールによって返された情報にマージされる設定のテーブルを返す必要があります。

オンクライアントフォーマットメッセージ

クライアントのみ。クライアントがメッセージを表示する前に呼び出されます (プレイヤーチャットメッセージ、システムメッセージ、または /me コマンドですか)この機能はメッセージオブジェクトで呼び出され、message.ExtraData にマージされるテーブルを返すかもしれません (またはしないかもしれません)。

オンクライアント送信メッセージ

この時点では呼び出されていません。

オンサーバー受信メッセージ

サーバー専用。サーバーがスピーカーからメッセージを受信したときに呼び出されます(スピーカーが必ずしもチャットである必要はないことに注意してください)。このコールバックはメッセージオブジェクトで呼び出されます。機能はメッセージオブジェクトを変更して、メッセージの処理方法を変更できます。 メッセージオブジェクトを返すことで、このコールバックが何かを行うことができます。: このコールバックを設定すると、サーバーは例えば:

  • セット message.ShouldDeliver を偽に設定して、プレイヤーにメッセージの配信をキャンセルする (チャット排除リストの実装に便利)
  • メッセージ単位でスピーカーの名前色 ( message.ExtraData.NameColor , Color3) を取得/設定

パラメータ

callbackType: Enum.ChatCallbackType

機能が登録されるコールバック (これにより、機能がどのように呼ばれるかが決まります)

既定値: ""
callbackFunction: function

チャット:InvokeChatCallback を使用して呼び出されるときに呼び出される関数。

既定値: ""

戻り値

()

SetBubbleChatSettings

()

この機能は、ゲーム内バブルチャットの様々な設定をカスタマイズします。

これを使用する前に、バブルチャットが有効になっているように設定して Chat.BubbleChatEnabled を真に設定してください。

設定引数は、キーが編集したい設定の名前であり、値はこれらの設定を変更したいものです。設定引数にすべてを含める必要はありません。いくつかを省略すると、デフォルト値を維持します。

この機能はクライアント側のみで、サーバーで呼び出そうとするとエラーが発生します。

パラメータ

settings: Variant

設定テーブル。

既定値: ""

戻り値

()

コードサンプル

When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})

If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:

Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

イールド

指定された Player.UserId を持つプレイヤーがアカウント設定のためにチャットできない場合、false を返します。

パラメータ

userId: number
既定値: ""

戻り値

CanUsersChatAsync

イールド

2人のユーザーがコミュニケーションできない場合、アカウント設定により false が返されます。

パラメータ

userIdFrom: number
既定値: ""
userIdTo: number
既定値: ""

戻り値

FilterStringAsync

イールド

部分的な廃止警告 : クライアントが LocalScript を使用してこの関数を呼び出すことは廃止され、将来は無効になります。テキストフィルタリングは、Script と同じ名入力の TextService:FilterStringAsync() を使用してサーバー上で行われ、異なるパラメータと返却タイプを使用します。

プレイヤーが生成したテキストを適切にフィルターできないゲームは、モデレーションアクションの対象になる可能性があります。ゲームが正しくテキストをフィルタリングして公開する前に確認してください。

FilterStringAsync は、送信と受信プレイヤーに適したフィルタリングを使用して、ストリングをフィルタリングします。フィルターされた文字列がショップの名買うなどの永続メッセージに使用される場合、プレートに書き込むなどの送信者と受信者の両方として機能を呼び出す必要があります。

この機能は、 プレイヤーが任意のコンテキストでカスタムテキストを入力できるたびに 使用する必要があります、最も一般的には を使用します。フィルターにかけるテキストの例:

  • カスタムチャットメッセージ
  • カスタムキャラクター名
  • タイクーンスタイルのゲームでのショップの名前

パラメータ

stringToFilter: string

プレイヤーによって入力されたままの未処理の文字列。

既定値: ""
playerFrom: Player

テキストの作成者。

既定値: ""
playerTo: Player

提供されたテキストの受信者の意図; テキストが永続する場合は、作者を使用します (詳細を参照)。

既定値: ""

戻り値

FilterStringForBroadcast

イールド

playerFrom から送信されたストリングをフィルタして、特定のターゲットに放送しません。フィルタされたメッセージには Chat:FilterStringAsync() より多くの制限があります。

このメソッドが使用できる場所の一部の例:

  • メッセージの壁
  • クロスサーバーの叫び
  • ユーザーが作成した標識

フィルターストリングを LocalScripts から呼び出すことは廃止され、将来は無効になります。テキストフィルタリングは、FilterStringAsync を使用してサーバー側で行う必要があります Scripts

注: このフィルター機能を使用しないゲームは、カスタムチャットまたは他のユーザー生成のテキストに対してモデレーションアクションを受ける可能性があります。

パラメータ

stringToFilter: string

メッセージストリングがフィルタリングされています。

既定値: ""
playerFrom: Player

メッセージを送信するプレイヤーのインスタンス。

既定値: ""

戻り値

フィルターされたメッセージストリング。

コードサンプル

The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.

The example then prints the result of the filtering function, FilteredString.

Chat:FilterStringForBroadcast

local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)

イベント

Chatted

呼び出されると Chat:Chat() が発火します。

パラメータ

part: Instance
message: string