【发布时间】:2018-06-27 11:17:42
【问题描述】:
我正在从我的 .NET 机器人启动一个网页。该页面通过我们的一个后端系统与用户进行交互。交互结束后,我需要向机器人发送状态更新消息 - 它位于上下文中。在等待该消息的同时等待。
目前该机器人正在使用 Facebook 频道并通过 Facebook 网址按钮启动页面,但最终它需要跨多个频道工作。
从网站上,我可以轻松地向用户发送消息,但尽管花费了数小时搜索和尝试不同的机制,我还没有找到向机器人发送消息的方法。
基于https://docs.botframework.com/en-us/csharp/builder/sdkreference/d1/df2/_conversation_reference_ex_8cs_source.html 的最新尝试,(cr 已缓存对话详细信息):
string MicrosoftAppId = ConfigurationManager.AppSettings["MicrosoftAppId"];
string MicrosoftAppPassword = ConfigurationManager.AppSettings["MicrosoftAppPassword"];
var account = new MicrosoftAppCredentials(MicrosoftAppId, MicrosoftAppPassword);
MicrosoftAppCredentials.TrustServiceUrl(cr.serviceUrl);
var connector = new ConnectorClient(new Uri(cr.serviceUrl), account);
Activity activity = new Activity
{
Type = ActivityTypes.Message,
Id = Guid.NewGuid().ToString(),
Recipient = new ChannelAccount
{
Id = cr.bot.id,
Name = cr.bot.name
},
ChannelId = cr.channelId,
ServiceUrl = cr.serviceUrl,
Conversation = new ConversationAccount
{
Id = cr.conversation.id,
IsGroup = false,
Name = null
},
From = new ChannelAccount
{
Id = cr.bot.id,
Name = cr.bot.name
},
Text = "Test send message to bot from web service"
};
try
{
await connector.Conversations.SendToConversationAsync(activity);
}
catch (Exception ex)
{
var s = ex.Message;
}
但似乎没有从/收件人的组合发送到机器人。
我确定我错过了一些简单的东西,你们可以告诉我它是什么!
【问题讨论】:
标签: c# botframework