Как отправить скрытую ссылку от бота - PullRequest
0 голосов
/ 26 мая 2018

Мне нужно перенаправить пользователя.Пользователь отправляет сообщение: «покажи мне мой профиль», бот отправляет скрытую ссылку и перенаправляет его на страницу профиля.

Сейчас я делаю это с обратным каналом:

botConnection.activity$
    .subscribe(activity => redirect(activity.value))

Но это значит,этот пользователь может видеть сообщение со ссылкой от бота, и только после этого он будет перенаправлен.Как я могу скрыть это сообщение от пользователя?

1 Ответ

0 голосов
/ 28 мая 2018

Мне нужно перенаправить пользователя.Пользователь отправляет сообщение: «покажи мне мой профиль», бот отправляет скрытую ссылку и перенаправляет его на страницу профиля.

Как вы упомянули, механизм обратного канала может помочь в обмене информацией между клиентом.и бот, не представляя его пользователю, установив тип активности на event.Вы можете обратиться к следующему фрагменту кода, чтобы выполнить ваши требования.

В диалоге бота:

if(activity.Text.ToLower() == "show me my profile")
{
    var reply = context.MakeMessage() as IEventActivity;
    reply.Type = "event";
    reply.Name = "showprofile";

    //store the url of user profile in Value property
    reply.Value = $"{profile_url}";

    await context.PostAsync((IMessageActivity)reply);
}

В клиенте веб-чата:

//listens for "showprofile" event from the bot

botConnection.activity$
    .filter(activity => activity.type === "event" && activity.name === "showprofile")
    .subscribe(activity => showmyprofile(activity.value));

function showmyprofile(profile_url) {
    window.open(profile_url);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...