Мне нужно перенаправить пользователя.Пользователь отправляет сообщение: «покажи мне мой профиль», бот отправляет скрытую ссылку и перенаправляет его на страницу профиля.
Как вы упомянули, механизм обратного канала может помочь в обмене информацией между клиентом.и бот, не представляя его пользователю, установив тип активности на 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);
}