Botframework V4: сбросить бот в Messenger - PullRequest
0 голосов
/ 11 января 2019

Здравствуйте. Недавно я опубликовал своего бота в Azure и развернул его в Messenger для тестирования. Первая часть бота спрашивает у пользователя имя и возраст. Как я могу сбросить весь разговор, когда пользователь вводит «сброс»? Как удалить все данные, сохраненные в памяти. Я использую C # и сохраняю пользовательские данные в памяти.

     IStorage dataStore = new MemoryStorage();          
     var conversationState = new ConversationState(dataStore);
     options.State.Add(conversationState);

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Во-первых, я бы повторил то, что @JJ_Wailes сказал об использовании провайдера MemoryStorage в производственном боте: просто не делайте этого. ?

Тем не менее, чтобы ответить на ваш вопрос напрямую, да, вы можете удалить все состояния для данного BotState (например, ConversationState, UserState и т. Д.), Используя DeleteAsync API .

0 голосов
/ 11 января 2019

Hihi!

Хранение данных в памяти предназначено только для тестирования. Это хранилище нестабильно и временно. Данные очищаются каждый раз, когда бот перезапускается. Нет необходимости «удалять» его, он удаляется сам, как только вы перезапустите бот. При этом для «сброса» бота в канале сообщений FB, когда вы находитесь на странице https://www.messenger.com, перейдите к значку шестеренки в правом верхнем углу:

enter image description here

Будет возможность «удалить» разговор. Нажмите на это, затем перейдите на правую сторону, где есть список людей. Ищите имя вашего бота еще раз, и разговор бота начнется заново.

enter image description here

и вуаля! Сброс:

enter image description here

...