お世話になっております。
Slackの特定の書き込みにReplyを送信しています。
Replyを送信したい投稿が固定かつ、送信先のチャンネルに投稿が多いため、
GetMessageを使用せず、投稿情報(ConversationID等)をExcelか何かに保存しておいて
そのデータを使用してReplyを送信したいと思っています。
SlackのReplyのアクティビティには「UiPath.Slack.Model.Message」型を使用するのですが、
上手く代入することができません。
「UiPath.Slack.Model.Message」型にExcel等からデータを代入することはできないでしょうか。
もしくは、Excel等のデータからReplyを送る方法はありますでしょうか。
よろしくお願いいたします。
shinji
(みやぎ)
2
UiPath.Slack.Model.Message型の変数を宣言し、Newしたオブジェクトの「ConversationId」と「ts」プロパティに値を入れたものを使用すれば、Replyアクティビティで返信できます。(他のプロパティは無くても大丈夫です)
以下、代入コードイメージ
msg = New uipath.Slack.Model.Message()
msg.ConversationId = "XXXXXXXX" ※メッセージのConversationID
msg.Ts = "XXXXXXXXXXX.XXXXXX" ※ メッセージのタイムスタンプ値
1 Like
お世話になっております。
今回も回答ありがとうございます!
Newしてから代入するのですね。
回答と見比べていて気付いたのですが、現在使っているアクティビティがv0.3.1のものであり、
使用している変数も「UiPath.Slack.Models.Message」型を使用しておりました…。
記載間違いや、説明不足で申し訳ありません。
回答いただいたものを活用して最新バージョンのアクティビティで
リプライを送ることは可能だったのですが、
運用に使用したい物が古いバーション(v0.3.1)のため、
よろしければそちらのアドバイスもいただけないでしょうか。
古いバージョンでは変数配列に「Ts」の項目がなく、おそらく同じような項目として
「Id」が存在するのですが「Ts」への代入方法と同じ方法を行うと
「割り当てられません」と表示されてしまいます。
こちら解決策ありましたらご教授いただけますと助かります…。
shinji
(みやぎ)
4
なるほど、そうなんですね。
ざっくり「UiPath.Slack.xx」のコードを調べましたが、v0.3.1の「Models.Message」とv1.0.3の「Model.Message」では、Tsプロパティのアクセス修飾子(許可)が違うようです。
「UiPath.Slack.Models.Message」は「UiPath.Slack.Models.SlackEntity」を継承しており、
継承元のSlackEntityには「ts」プロパティがありますが、継承先では隠蔽されていてアクセスできません。
引数付きコンストラクタ「public Message(SearchResponse.MatchedMessage msg)」を経由すればできそうに見えますが
そのためには「Uipath.Slack.Responses.SearchResponse.MatchedMessage」を別途生成する必要があり、手数が必要な割に出来るか微妙です。
と技術的な話になってしまいました。不快であればすいません。
v0.3.1では難しそうなのでv1.0.3を使うか、InvokeCodeでSlackのAPIを直接呼び出すほうが楽で良いかもと思います。
1 Like
古いバージョンの情報を調べてくださり、ありがとうございます。
難しそうということが分かっただけでも大きいです!
不快だなんて…非常に感謝しております。
v1.0.3にすることや、記載いただいた情報をもとに対応策を検討してみます。
system
(system)
Closed
6
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.