グループチャット

ボットは、Messaging APIを使用してグループチャット内のユーザーと対話できます。このページでは、グループチャットでのボットの使い方について説明します。

「グループ」と「トークルーム」

LINEアプリには、グループトークルームの2タイプのグループチャットがあります。グループまたはトークルームのユーザーはメンバーと呼びます。

グループ

グループは、トークを作成したユーザーまたはトーク内の別のメンバーからの招待を承認すると参加できるチャットです。LINEユーザーは、特定の名前のついたグループを作成し、友だちをグループに招待できます。

トークルーム

トークルームは3人以上のユーザーがいるチャットで、メンバーは自由に他のユーザーをトークルームに追加できます。グループと違い、トークルームに特定の名前はなく、ユーザーが参加するための招待は必要ありません。

注:ユーザーが1対1(2人のユーザー)のトークに別のユーザーを追加すると、クライアントのローカルにトークルームが作成されます。しかし、ユーザーがメッセージを送信するまで、LINEプラットフォーム上にトークルームは作成されません。

Webhook参加イベントを受け取る

グループチャットにボットが追加されると、LINEプラットフォームはwebhook参加イベントを送ります。

詳しくは、『APIリファレンス』の「参加イベント」を参照してください。

Webhookメッセージイベントを受け取る

ボットが追加されているグループチャット内でメッセージが送られると、LINEプラットフォームはwebhookメッセージイベントを送ります。メッセージイベントオブジェクトには、typeプロパティにgroupまたはroomの値を持つsourceオブジェクトが含まれます。

"source": {
    "type": "group",
    "groupId": "Ca56f94637c...",
    "userId": "U4af4980629..."
    }

注:公式アカウントの利用条件にユーザーが同意している場合にのみ、ユーザーIDが含まれます。

メッセージを送る

グループチャットでは、応答メッセージは/message/replyエンドポイント、プッシュメッセージは/message/pushエンドポイントを使って送ります。プッシュメッセージを送るときは、groupIdまたはroomIdの値を使ってtoプロパティにグループまたはトークルームを指定します。groupIdおよびroomIdは、webhookイベントオブジェクトに含まれています。メッセージはグループやトークルームのすべてのメンバーに表示されます。

注:/message/multicastエンドポイントはグループやトークルームでは使用できません。

グループやトークルームのメンバーのユーザープロフィールを取得する

グループやトークルームのメンバーのユーザーIDを把握している場合は、リクエストを/group/{groupId}/member/{userId}、または/room/{roomId}/member/{userId}に送ることによってユーザーのLINEプロフィールを取得できます。

注:ボットを友だち追加していないユーザーや、ボットをブロックしているユーザーのユーザープロフィールを取得できます。

グループやトークルームのメンバーのユーザーIDを取得する

/group/{groupId}/members/idsおよび/room/{roomId}/members/idsエンドポイントを使用して、ボットが追加されているグループやトークルームのメンバーのユーザーIDを取得します。これにより、ボットを友だち追加していないユーザーや、ボットをブロックしているユーザーのユーザーIDを取得します。

注:この機能は認証済みLINE@アカウントまたは公式アカウントのみでご利用いただけます。

グループやトークルームを退出する

/bot/group/{groupId}/leaveおよび/bot/room/{roomId}/leaveエンドポイントを使用して、ボットをグループやトークルームから退出させます。