从 api 向 ms teams bot 发送消息

Send message to ms teams bot from api

我使用 Microsoft 文档创建了 ms teams Bot https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/create-a-bot-for-teams

Bot 工作正常,但如果我收到来自 ms teams bot 的消息并且 OnMessageActivityAsync 被调用,则通信开始。

很好,但我想从我的 api 发起通信,我想在数据添加到数据库时向团队机器人发送消息。我如何创建 ITurnContext 的实例?

private static async Task SendMessage()
 {
   ITurnContext<IMessageActivity> turnContext;// how can i get this object?
   var message = MessageFactory.Text("Hi!");
   await turnContext.SendActivityAsync(message);
 } 

谢谢

您正在寻找的是如何发送主动消息。

发送主动消息不同于回复从用户收到的消息,因为没有可用的 turnContext 对象。

相反,您可以创建一个新对话。这可以是 one-to-one 聊天或频道中的新对话线程。

当用户最初添加机器人或向机器人发送消息时,机器人会收到通知,您可以访问和存储该用户的对话参考。稍后,当您准备发送主动消息时,您可以使用存储的对话参考来创建新对话。

此处使用代码示例详细解释了主动消息 - https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=typescript