Как обрабатывать имена пользователей в Dialogflow?

new_list = my_list[:]

new_list = my_list Попытайтесь это понять. Предположим, что my_list находится в памяти кучи в месте X, то есть my_list указывает на X. Теперь, назначив new_list = my_list, вы даете new_list указывать на X. Это называется мелкой копией.

Теперь, если вы назначили new_list = my_list[:], вы просто копируете каждый объект my_list в new_list. Это известно как Deep copy.

Другой способ, которым вы можете это сделать:

  • new_list = list(old_list)
  • import copy new_list = copy.deepcopy(old_list)
0
задан Sairaj Sawant 24 March 2019 в 12:13
поделиться

2 ответа

Если вы используете Действия в Google, вы можете использовать userStorage , чтобы сохранить имя пользователя пользователя, а затем получить к нему доступ для выполнения задач (в вашем случае приостановка подписок)

Предполагая, что Ваше намерение возвращает имя пользователя. Установка имени пользователя в хранилище так же проста:

app.intent('ask_username', (conv, params) => {

   conv.user.storage.username = params.username; // use $ as conv.user.storage.$ if you want
   conv.ask(`Ok, What would I help you with ?.`);

});

Тогда вы можете просто получить доступ к имени пользователя как:

conv.user.storage.username

Надеюсь, что это поможет!

0
ответ дан Sairaj Sawant 24 March 2019 в 12:13
поделиться

Вы можете пометить конкретные слова в обучающих фразах Dialogflow с помощью типа @ sys.any, который сможет захватить часть ввода. Затем вы можете получить его в качестве параметра.

Sys.any действительно полезен в этих типах абстрактных типов ввода, но потребует больше обучающих фраз, так как сопоставление только имени пользователя становится труднее.

Вместо использования имен пользователей, которые, кажется, не аутентифицированы для вашей службы, вы можете вместо этого взглянуть на вход в Google или OAuth. Приведенная выше рекомендация будет работать, но это не лучший способ использовать имена пользователей.

0
ответ дан Nick Felker 24 March 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: