mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-18 03:29:15 +00:00
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
const { generateRef } = require('../utils')
|
|
const { toJson } = require('./toJson')
|
|
/**
|
|
*
|
|
* @param answer string
|
|
* @param options {media:string, buttons:[]}
|
|
* @returns
|
|
*/
|
|
const addAnswer = (inCtx) => (answer, options) => {
|
|
const getAnswerOptions = () => ({
|
|
media: typeof options?.media === 'string' ? `${options?.media}` : null,
|
|
buttons: Array.isArray(options?.buttons) ? options.buttons : [],
|
|
})
|
|
|
|
const lastCtx = inCtx.hasOwnProperty('ctx') ? inCtx.ctx : inCtx
|
|
const ctxAnswer = () => {
|
|
const ref = `ans_${generateRef()}`
|
|
|
|
const options = {
|
|
...getAnswerOptions(),
|
|
keyword: {},
|
|
}
|
|
|
|
const json = [].concat(inCtx.json).concat([
|
|
{
|
|
ref,
|
|
keyword: lastCtx.ref,
|
|
answer,
|
|
options,
|
|
},
|
|
])
|
|
|
|
return { ...lastCtx, ref, answer, json, options }
|
|
}
|
|
|
|
const ctx = ctxAnswer()
|
|
|
|
return {
|
|
ctx,
|
|
ref: ctx.ref,
|
|
addAnswer: addAnswer(ctx),
|
|
toJson: toJson(ctx),
|
|
}
|
|
}
|
|
|
|
module.exports = { addAnswer }
|