コミュニティ

LINE WORKSのテクニカルエキスパート及び開発者と
コードのサンプル、リソース、Tip等を共有し問題解決への相談が可能です。

??dev_메인_타이틀_모바일_ja_JP??

トークBot

ID指定でのメッセージ送信に関して

Nick

2020.09.14既読 95

Chatbotを呼び出して 1対1のトークルームを作成しているときに、

user@example.com のように ID 指定してメッセージを送信した場合は

1対1 のトークルームを優先するという認識はあっていますでしょうか?

①Chatbot 呼び出し (1対1 のトークルームが自動で生成)

②Chatbot とのやり取りで新しいトークルームを作成する

(他のユーザーも参加できるが参加者は Chatbot と1名のみ)

③ユーザーが②のトークルームから抜ける

④ ①のトークルームで再度ユーザーIDで指定をしてメッセージを送信したときに

 1対1 のトークルームにメッセージが送信される想定だが、

 ③のトークルームにメッセージが送信されることがある。

コメント4

  • LINE WORKS 公式アカウント

    以下の2パターンの手順で行ってみましたが、症状は再現できませんでした。
    (パターンA)
    ①トークサービス画面で「トークルームを作成」を選択
    ②「Bot」から対象の Bot を選択して利用を開始する
    ③「トークルームを作成」を再び選択
    ④「Bot」から対象の Bot を選択し、別のユーザも一人選択して Bot と二人のトークルームを作成
    ⑤④で選択した別のユーザにトークルームから退室してもらう
    ⑥ Bot から accountId を使用してメッセージを送信
    (パターンB)
    ①トークサービス画面で「トークルームを作成」を選択
    ②「Bot」から対象の Bot を選択して利用を開始する
    ③ Bot を含むトークルーム作成 API でユーザと Bot のトークルームを作成し、roomId を取得
    ④③で取得した roomId を使用してメッセージを送信し、トークルームを作成
    ⑤④で作成したトークルームから退室
    ⑥ Bot から accountId を使用してメッセージを送信

    上記手順でお間違えはありませんでしょうか?

    2020.09.14

    0
  • Nick 投稿者

    すみません、パターンBなのですが手順が一つ抜けておりました。④と⑤の間でまず Bot が先に退室します。
    運用としては問い合わせをしたいユーザーが Bot とやり取りをして、内容に応じて Bot が関係者を呼び出してトークルームを作成してメッセージを送信します。その後は callback なども含めて Bot は必要ないので、Botが先に退出します。今回はそのユーザーが一人の場合です。

    (パターンB)
    ①トークサービス画面で「トークルームを作成」を選択
    ②「Bot」から対象の Bot を選択して利用を開始する
    ③ Bot を含むトークルーム作成 API でユーザと Bot のトークルームを作成し、roomId を取得
    ④③で取得した roomId を使用してメッセージを送信し、トークルームを作成
    ← ④で作成したトークルームから Botが退室
    ⑤④で作成したトークルームから Userが退室
    ⑥ Bot から accountId を使用してメッセージを送信

    この⑥でなぜか2人(Bot とユーザー)とも抜けた④のトークルームにメッセージが送信されてしまいます。
    ご確認よろしくお願い致します。

    2020.09.14

    0
  • LINE WORKS 公式アカウント

    新しい手順で確認してみましたが、症状は再現されませんでした。


    トークルームから Bot が退室させるには Bot の退室 API を使用しましたが、お間違えありませんでしょうか。
    https://developers.worksmobile.com/jp/document/1005024?lang=ja


    Bot を退室が成功した時点で、退室したトークルームに Bot は所属しなくなるため、メッセージを送信することはできません。
    Bot の退室 API の Request は成功しておりますでしょうか?
    退室したトークルームにメッセージを送信すると "Bot not joined the room" エラーが発生しますので、正常にトークルームから退室しているかどうかをお確かめください。

    2020.09.14

    0
  • Nick 投稿者

    Bot 退室APIはそれで間違いありません。APIの Request は成功しており、ログだけでなく画面上にも 「"Bot" さんが退室しました」と表示されております。

    >Bot を退室が成功した時点で、退室したトークルームに Bot は所属しなくなるため、メッセージを送信することはできません。
    こちらもその認識のため挙動が気になってご連絡しました。

    >退室したトークルームにメッセージを送信すると "Bot not joined the room" エラーが発生します
    roomIdを指定した場合は上のエラーメッセージが表示されますが、今回は accountId を指定しているのでそのエラーが発生せずに消えたはずのトークルームが復活しているような状況に見えます。

    ただ再現されないのであればどうしようもないですね。Botへの質問者と回答者が同じで回答者が1人のみというケースはほぼないため運用上は影響ありません。ご確認頂きありがとうございました。

    2020.09.15

    0
前の投稿 クイック返信のボタン位置に関して(PC Windows版)
次の投稿API連携に関して