Передача параметров
Описание
Иногда возникает необходимость, чтобы пользователь перешел по ссылке в определенный диалог. ВКонтакте использует сервис коротких URL vk.me, который перенаправляет пользователей в указанный диалог.
Ссылка имеет формат http://vk.me/{group_name}
. Здесь group_name
— это идентификатор сообщества. Например, vk.me/exampleclub
.
Кроме того, вы можете передать в ссылке произвольный параметр ref
. Это полезно использовать для отслеживания эффективности ссылок, размещенных в разных каналах, или привязки пользователя к сеансу или аккаунту во внешнем приложении. В зависимости от переданного параметра можно варьировать ответы бота в сообществе.
Ссылка с дополнительными параметрами примет вид:
http://vk.me/{group_name}?ref={ref}
Использование в сценарии
Диалог с ботом ВКонтакте начинается с сообщения начать
. Поэтому для корректной работы сценария состояние start
должно быть задано как:
state: start
q!: начать
script:
var params;
if ($request.rawRequest.object.message && $request.rawRequest.object.message.ref) {
params = $request.rawRequest.object.message.ref;
$reactions.answer(params);
} else $reactions.answer("Параметр не получил");
Произвольный параметр вернется в переменную $request.rawRequest.object.message.ref
по нажатию на кнопку начать
.
Допустим пользователь перейдет по следующей ссылке:
http://vk.me/exampleBot?ref=TEST
В этом случае пользователь будет автоматически перенаправлен в чат с ботом exampleBot
. После того, как пользователь нажмет на кнопку Начать
, сработает паттерн q!: начать
. В теге script
проверяем получили ли мы необходимый параметр. Если получили, то выводим его в качестве ответа бота: TEST
. Иначе выведем сообщение: Параметр не получил
.