ManyChat、Zapier 和 JavaScript;如何根据最终结果发送不同的消息

ManyChat, Zapir and JavaScript; how to send out different messages per the end result

我正在尝试在我的 Messenger 中创建调查问卷(15 个问题),其中包含两个可能的答案是和否。每个答案都有值(是..3)和(否..1)。我创建了 Zap,我在其中计算结果之类的数字。我像下一步一样通过 Zapier 创建 Java 脚本代码,到这里我的知识就完成了。我编写代码来计算数字,然后像下一步一样将消息发回,并附上数字之类的答案。

我想从 Zapier 的 javascript 代码中得到的是计算答案,并根据结果将答案发送给回答问卷的订阅者。

根据评分答案的答案消息应如下:

<26
"messege"

26-35
"messege"

>35
"messege"

这是我到目前为止的制作方式(抱歉,但答案是斯洛文尼亚语......不重要):

return {
  calculatednumber: Number(inputData.q1) + Number(inputData.q2) + Number(inputData.q3) + Number(inputData.q4) + Number(inputData.q5) + Number(inputData.q6) + Number(inputData.q7) + Number(inputData.q8) + Number(inputData.q9) + Number(inputData.q10) + Number(inputData.q11) + Number(inputData.q12) + Number(inputData.q13) + Number(inputData.q14) + Number(inputData.q15)
 }

if (calculatednumber ==='<25') {
  return []; //"Videti je, da so vaše prehranske navade ustrezne. Za izboljšanje priporočamo jemanje multivitaminskih/mineralnih tablet!"
  }

if (calculatednumber ==='26,27,28,29,30,31,32,33,34,35') {
  return []; //"Multivitaminski/mineralni dodatek k prehrani bo vašemu telesu pomagal ohraniti esencialna hranila, ki jih potrebuje, skupaj z drugimi označenimi dodatki!"
  }

if (calculatednumber ==='>36') {
  return []; //"Vnos multivitaminov/mineralov bi vam zagotovo koristil. Z bolj uravnoteženo prehrano in dodatkom multivitaminov/mineralov pa bi potrebovali še vnos drugih vitaminov/mineralov!"
  };

谢谢你帮助我。

你走对了!一些建议:

  • 您只会调用一个 return 函数,因此您不想将它用于顶部的变量。
  • 您不需要将变量嵌套在对象中;它可以只是一个数字
  • calculatedNumber 变量永远不会等于 "<25",因为这是一个包含字符的字符串,因此您的逻辑分支不起作用。

试试这个:

let calculatedNumber = Number(inputData.q1) + Number(inputData.q2) // + ...

if (calculatedNumber < 25) {
    return {message: 'Small Message'}  // it's important to return an object
} else if (calculatedNumber > 36) {
    return {message: 'Large Message'}
} else {
    // everything inbetween 25 and 36
    return {message: 'Medium Message'}
}

无论如何,我建议通读 https://learnxinyminutes.com/docs/javascript/ 以更好地掌握一些语法基础知识。