我已经使用 Microsoft Bot Framework(版本 3.0.0.59)为 Skype 实现了机器人应用程序。
我实现了如何检索 Skype 名称和 ID,但我无法检索 Skype 帐户的用户名。如何获取我的 Skype 帐户的用户名?
我已经使用 Microsoft Bot Framework(版本 3.0.0.59)为 Skype 实现了机器人应用程序。
我实现了如何检索 Skype 名称和 ID,但我无法检索 Skype 帐户的用户名。如何获取我的 Skype 帐户的用户名?
这是不可能的。由于 API 的 v3 版本,用户现在由每个机器人的唯一用户 ID表示。这是为用户提供额外的隐私层(很像 Facebook)。
在 MessageActivity 的 From 属性中,您只会找到 Id 和 Name 而不是用户名
//Answer
if(activity.From.Name != null)
string userName= activity.From.Name;
//Example
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
string userName= "";
if(activity.From.Name != null)
userName= activity.From.Name;//Here we are getting user name
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
Activity reply = activity.CreateReply(userName);
activity.TextFormat = "markdown";
await connector.Conversations.ReplyToActivityAsync(reply);
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}