我使用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和名称,但不会找到用户名。
//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;
}