背景
Teams の自動化で、
選択されたメッセージに対して (V2) (For a Selected Message(V2) )
を使う際に詰まりやすいメッセージの種類と返信の仕方について備忘録
概要
何が問題か?
選択されたメッセージに対して (V2) (For a Selected Message(V2) ) を利用する場合に、選択メッセージに対して返信して結果を返したいって時・・
- チャット/チャネルで、メッセージの制御が違う
- チャネルの場合は、Reply が基本(新規スレッド投稿でもいいが、普通は返信を使いたくなる筈)
- チャネルのスレッドにおいて、親子関係があり、親子によって制御が違う
- 親子で、Message ID の取得方法が違う(以前は子の場合、親 ID は取れなかった記憶⇒詳細取得して親IDって流れで)
返信時の注意点
メッセージとしては、以下のような感じでの種類がある
- チャット
- 個人チャット
- グループチャット
- ボットチャット
- チャネル:親メッセージ(スレッドの最初)
- チャネル:子メッセージ(スレッドに返信したメッセージ群)
で、実際に返信に限った差異をまとめると
-
チャットの場合
- スレッド、という概念がないので、投稿で返信
- 返信方法
-
チャネルの場合
- スレッドへの返信、ということで、専用の返信アクション。新規投稿なら 投稿(Post)アクションを利用(割愛)
- 返信方法
切り分け方
選択されたメッセージに対して (V2) (For a Selected Message(V2) ) の結果から、返信の仕方を分岐させる必要がある
- チャットとチャネルの判断
- channelData->channel が 空ならチャット
triggerBody()?['teamsFlowRunContext']?['channelData']?['channel']
- channelData->channel が 空ならチャット
- チャネルの親子判断
- replyToId が空なら親メッセージ
triggerBody()?['teamsFlowRunContext']?['messagePayload']?['replyToId']
- replyToId が空なら親メッセージ
返信先を、選択したメッセージ以外にしたい時
- 投稿者
- From/User/Id
- リアクションした人
- メッセージ詳細を取得する で Reactionから解析
- メンションされた人
- リアクションした人と同様
あとがき
メニュー増えすぎると選びにくくなるのでご注意を
利用例
keyword
how to reply to 'for a selected message' trigger