Найти имя пользователя Skype на канале Microsoft Bot Framework

Я реализовал бот-приложение для Skype с использованием Microsoft Bot Framework (версия 3.0.0.59).

Я реализовал способ получения имени и идентификатора Skype, но не могу получить имя пользователя учетной записи Skype. Как я могу получить имя пользователя моей учетной записи Skype?

2 ответа

Это невозможно. Начиная с версии API v3, пользователь теперь представлен уникальным идентификатором пользователя для каждого бота. Это делается для того, чтобы обеспечить дополнительный уровень конфиденциальности для пользователей (почти как в Facebook).

В свойстве From функции MessageActivity вы найдете только идентификатор и имя, но не имя пользователя.

//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;
}
Другие вопросы по тегам