您需要在 ChannelData 中设置文本,以便您的机器人在线程中回复。现在你正在你的活动中设置它
reply = reply.CreateReply("reply");
你需要做的就是:
reply.ChannelData = JObject.Parse($"{{text:'reply', thread_ts:'{ts}'}}");
这是来自对话框的完整工作方法:
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var activity = await argument;
var ts = activity.ChannelData?.SlackMessage?.thread_ts
?? activity.ChannelData?.SlackMessage?.ts
?? activity.ChannelData?.SlackMessage["event"].thread_ts
?? activity.ChannelData?.SlackMessage["event"].ts;
var reply = (Activity)activity;
reply = reply.CreateReply();
reply.ChannelData = JObject.Parse($"{{text:'reply', thread_ts:'{ts}'}}");
await context.PostAsync(reply);
}