2

Вот фраза из дока Wit.ai: https://wit.ai/docs/recipes#categorize-the-user-intentWit.ai Как добавить динамическую Быстрые Ответы

Как добавить динамический Быстрых Ответы

Если вы хотите создать programmically Быстрых ответов, вы необходимо, чтобы использовал программу Bot Выполняет запуск функции на вашей стороне, которая создаст эти быстрые ответы.

Хорошо, я могу сделать это легко!

Вы можете сохранить их в своем контексте. В функции отправки на вашей стороне, если у вас есть они в контексте, вы получите отправьте их с ответом бота.

Может кто-то перевести это последнее предложение для меня, потому что я не понимаю, что я делаю. Я хочу добавить динамические быстрые ответы в мой бот Node.js С Wit.ai
Спасибо

ответ

5

Я делаю что-то подобное для своих ботов, используя Wit.ai для Facebook Messenger.

В моем действии я храню динамические быстрые ответы в контексте:

myAction({ context, text, entities }) { 
    context.quick_replies = [ 
    { 
     title: 'Option A', 
     content_type: 'text', 
     payload: 'empty' 
    }, 
    { 
     title: 'Option B', 
     content_type: 'text', 
     payload: 'empty' 
    }, 
    ] 
} 

А потом в send() я наклеивать быстрые ответы на мой текст сообщения:

send(req, res) { 
    await textMessage(messenger_id, res.text, req.context.quick_replies) 
} 

Где textMessage() выглядит примерно так :

export async function textMessage(recipientId, text, quick_replies = null) { 
    const messageData = { 
    recipient: { id: recipientId }, 
    message: { 
     quick_replies: quick_replies, 
     text: text 
    } 
    } 

    await request({ 
    url: 'https://graph.facebook.com/v2.6/me/messages', 
    qs: { access_token: FB_PAGE_TOKEN }, 
    method: 'POST', 
    json: messageData 
    }) 
} 

В принципе, я создаю te и приложите быстрые ответы самостоятельно.

Если у вас есть статические быстрые ответы в Wit.ai, вы получите их в send() в таком формате: res.quickreplies = ['Yes', 'No'], а затем вы можете отформатировать и прикрепить эти параметры.