我使用Microsoft bot Framework (version 3.0.0.59)实现了Skype的bot应用程序。
我实现了如何检索Skype名称&Id,但我无法检索Skype帐户的用户名。我如何获得我的Skype帐户的用户名?
不可能。由于API的v3版本,用户现在由每个bot的唯一用户ID表示。这是为了给用户提供一层额外的隐私(很像Facebook)。
在MessageActivity的From属性中,你只能找到Id和Name,但不能找到username
//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;
}