首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微软团队和机器人框架V4-如何从头开始积极主动的1:1对话?

微软团队和机器人框架V4-如何从头开始积极主动的1:1对话?
EN

Stack Overflow用户
提问于 2020-03-05 23:26:59
回答 1查看 242关注 0票数 0

我正在尝试让v4机器人框架机器人(C# SDK)发起与用户的1:1对话,并且我需要能够获取/创建对话ID。

代码语言:javascript
复制
var response = await m_client.Conversations.CreateDirectConversationAsync(new ChannelAccount(aadObjectId: "DB84C737-2161-4A35-B8C3-274B1FA4CF15", role: "bot"),
    new ChannelAccount(role:"user",aadObjectId:"045AD4DB-133B-4C1B-870B-8201B7233625"));

// Construct the message to post to conversation
Activity newActivity = new Activity()
{
    Text = "Hello",
    Type = ActivityTypes.Message,
    Conversation = new ConversationAccount
    {
        Id = response.Id
    },
};

// Post the message to chat conversation with user
await m_client.Conversations.SendToConversationAsync(newActivity);

这是一个糟糕的请求。如果我让用户先给我的机器人发消息(或者在他们添加机器人时查找ConversationUpdated事件),我可以保存会话ID (类似于a:1NJglnU1nkB-rqiCw2pQjbwMVViEYxyGxqGr8roBJMwtzzyDt_usg02D4HyaACgen_dOkikceYF3vdQ6kt6UAlxcT-tgCw7H8RWw46lLHBKYpxhkzgmMYJ9kOxiseAZga),,但我希望能够为用户检索/生成该ID,而不必先向机器人发送消息,这是我认为CreateDirectConversationAsync会提供给我的。

我还尝试为user/bot (address@domain)和aad对象ID设置ID参数,但结果是相同的。有没有办法让我的机器人为SDK中的1:1聊天创建一个对话ID?

EN

回答 1

Stack Overflow用户

发布于 2020-03-05 23:37:16

我已经有一段时间没有使用它了,那是在Microsoft.Bot.Connector.Teams包还存在的时候,但现在它已经进入了核心机器人框架。因此,我认为您现在会考虑使用:

代码语言:javascript
复制
m_client.Conversations.CreateConversationAsync

而不是

代码语言:javascript
复制
m_client.Conversations.CreateDirectConversationAsync

在这个重载中,关键是在"ConversationParameters“对象上设置正确的值,特别是"Bot”、"Members“和"TenantId”属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60548801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档