Python MS团队机器人-创建新对话

Python MS团队机器人-创建新对话,python,botframework,microsoft-teams,Python,Botframework,Microsoft Teams,我正在使用botbuilder python构建MS-Teams-bot。 以下示例使我能够响应消息。我正在努力创建全新的消息,而没有团队传递现有的活动。我修改了测试中的一些代码,但我得到: botbuilder.schema.error\u response\u py3.ErrorResponseException:BadSyntax无法分析租户id 它是什么,我在哪里可以找到它我可以从请求中找到它,但它并不理想,我如何传递它?有人能告诉我一些创建新对话的Python示例吗?我找到了答案,以防

我正在使用botbuilder python构建MS-Teams-bot。 以下示例使我能够响应消息。我正在努力创建全新的消息,而没有团队传递现有的活动。我修改了测试中的一些代码,但我得到:

botbuilder.schema.error\u response\u py3.ErrorResponseException:BadSyntax无法分析租户id


它是什么,我在哪里可以找到它我可以从请求中找到它,但它并不理想,我如何传递它?有人能告诉我一些创建新对话的Python示例吗?

我找到了答案,以防其他人尝试做同样的事情而陷入困境:

to = ChannelAccount(id=to_user_id)

bot_channel = ChannelAccount(id=bot_id)
activity_reply = Activity(type=ActivityTypes.message, channel_id='msteams',from_property=bot_channel,recipient=to,text=message)

credentials=MicrosoftAppCredentials(app_id, app_password)
JwtTokenValidation.authenticate_request(activity_reply, "Authorization", credentials)
# That's where you pass the tenant id
reply_conversation_params=ConversationParameters(bot=bot_channel, members=[to], activity=activity_reply, channel_data={ 'tenant': { 'id': tenant_id } })
connector = ConnectorClient(credentials, base_url='https://smba.trafficmanager.net/uk/')

# Create conversation
conversation = connector.conversations.create_conversation(reply_conversation_params)
# And send it
connector.conversations.send_to_conversation(conversation.id, activity_reply)

我想出来了,以防其他人尝试做同样的事情而陷入困境:

to = ChannelAccount(id=to_user_id)

bot_channel = ChannelAccount(id=bot_id)
activity_reply = Activity(type=ActivityTypes.message, channel_id='msteams',from_property=bot_channel,recipient=to,text=message)

credentials=MicrosoftAppCredentials(app_id, app_password)
JwtTokenValidation.authenticate_request(activity_reply, "Authorization", credentials)
# That's where you pass the tenant id
reply_conversation_params=ConversationParameters(bot=bot_channel, members=[to], activity=activity_reply, channel_data={ 'tenant': { 'id': tenant_id } })
connector = ConnectorClient(credentials, base_url='https://smba.trafficmanager.net/uk/')

# Create conversation
conversation = connector.conversations.create_conversation(reply_conversation_params)
# And send it
connector.conversations.send_to_conversation(conversation.id, activity_reply)

你是想做一些欢迎信息吗?不知道你是什么意思。我正在将客户端的应用程序与团队集成,它需要在特定的时间向用户发送通知,以促使他们执行某些操作。请将此查询直接发布到?我们可以在对话参数中指定tenantId,但没有Python示例。我建议从开始并从那里开始工作。它应该为您提供开始开发bot的框架。bot框架要求用户先向bot发送消息,然后bot才能向用户发送消息以防止垃圾邮件bot。当用户加入对话时,您可以向其发送欢迎消息,但在“团队”频道中,在机器人发送欢迎消息之前,用户仍必须向机器人发送消息。您可以查看,但您需要一个通常来自某个活动的对话参考。您是否尝试执行欢迎消息之类的操作?不确定您的意思。我正在将客户端的应用程序与团队集成,它需要在特定的时间向用户发送通知,以促使他们执行某些操作。请将此查询直接发布到?我们可以在对话参数中指定tenantId,但没有Python示例。我建议从开始并从那里开始工作。它应该为您提供开始开发bot的框架。bot框架要求用户先向bot发送消息,然后bot才能向用户发送消息以防止垃圾邮件bot。当用户加入对话时,您可以向其发送欢迎消息,但在“团队”频道中,在机器人发送欢迎消息之前,用户仍必须向机器人发送消息。您可以查看,但您需要一个会话引用,该引用通常来自某个活动。您如何预先确定bot和用户ID应该是什么?两者都有我看到的前缀,例如28:29:我使用在turn\u context.activity中找到的值尝试了上述代码,并获得了botbuilder.schema。\u models\u py3.ErrorResponseException:BadArgument用户来自不同的区域。如果这些值来自团队,但不起作用,我在哪里可以找到正确的值?在为我提供的租户中,用户标识无效,因此失败。不确定to_用户id的来源。你知道吗?你如何预先决定机器人和用户ID应该是什么?两者都有我看到的前缀,例如28:29:我使用在turn\u context.activity中找到的值尝试了上述代码,并获得了botbuilder.schema。\u models\u py3.ErrorResponseException:BadArgument用户来自不同的区域。如果这些值来自团队,但不起作用,我在哪里可以找到正确的值?在为我提供的租户中,用户标识无效,因此失败。不确定to_用户id的来源。有什么想法吗?