当前位置: 首页 > 知识库问答 >
问题:

Twilio WhatsApp:发送多个媒体消息

钱和安
2023-03-14
str.text = ["Image 1", "Image 2", "Image 3"]
str.images = ["https://hatrabbits.com/wp-content/uploads/2017/01/random.jpg", "https://images.unsplash.com/photo-1494253109108-2e30c049369b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80", "https://www.computerhope.com/jargon/r/random-dice.jpg", ]

代码:

function sendMsg(img, txt) {
  context.getTwilioClient().messages.create({
    to: event.From,
    from: 'whatsapp:' + context.WHATSAPP_NUMBER,
    body: txt,
    mediaUrl: img
  }).then(message => {
    callback();
  }).catch(err => callback(err));
}

async function test(str) {
  (str.text).reduce(async (previousPromise, value, i) => {
      await previousPromise;
      return sendMsg(str.images[i], str.text[i])
  }, Promise.resolve());
}

request.post({
...
}, function (err, res, body) {

  var str = body.data.message;
  test(str);
}

共有1个答案

董建德
2023-03-14

看起来你是混合回调,promise没有适当的返回东西。我会随着时间的推移而改变

  • 从发送味精返回promise
  • 请求中添加await.post
  • 使用for..of循环按顺序处理它们

像这样的东西

str.text = ["Image 1", "Image 2", "Image 3"]
str.images = ["https://hatrabbits.com/wp-content/uploads/2017/01/random.jpg", "https://images.unsplash.com/photo-1494253109108-2e30c049369b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80", "https://www.computerhope.com/jargon/r/random-dice.jpg"];

function sendMsg(img, txt) {
  return context.getTwilioClient().messages.create({
    to: event.From,
    from: 'whatsapp:' + context.WHATSAPP_NUMBER,
    body: txt,
    mediaUrl: img
  }).catch(err => console.log(err));
}

async function test(str) {
  for (const [index, value] of str.text) {
    await sendMsg(str.images[index], str.text[index]);
  }
}

request.post({
  ...
  }, async function (err, res, body) {

    var str = body.data.message;
    await test(str);
  }

 类似资料:
  • 我正在尝试用tweepy制作一个Twitter机器人。这实际上是我的第一个推特BOT,我对它有点陌生。 我有一个媒体列表,其中包含我需要发送的每个图像的路径。我可以用文本发送推文 或通过单一媒体发送推文 但是我需要用我的推文发送许多图像。我听说我需要先上传我的文件,但我不知道如何将它们集成到推文中。或者也许有另一种方法可以做到这一点?

  • 如何在聊天客户端发送媒体消息?我使用的是JS SDK,基于教程https://www.twilio.com/docs/api/chat/guides/media-support,但是出现了错误。我使用的方法如下所示: 错误消息:

  • 数据传输率:采样频率(Hz)×量化位数(bit)×声道数,单位为b/s 声音信号数据量:数据传输率×持续时间/8 音频容量的计算公式:存储量=采样时间(s) 采样频率(Hz) 量化位数(位) *声道数/8/1024(kb) 图片容量的计算公式:存储量=水平像素垂直像素颜色位数/8/1024(kb) 若提示为X位或X位色,则颜色位数就是X,若提示为X色,那么颜色位数为。 视频容量的计算公式:存储量=

  • 我正在用JavaFX开发一个音乐库应用程序,我在如何正确使用MediaPlayer类方面遇到了一些问题。 这是我目前设置和播放音频文件的方法: 比如说,我有两个音频文件。。。 ...以及将这两个文件中的一个发送到上述方法的两个按钮: 通常,两个音频文件都会相互播放是有意义的,因为每次调用该方法时我都会创建一个新的MediaPlayer对象,但是,该对象是静态的。也许我误解了静态对象的工作原理,但这

  • 8 月 30 号下午面试,多媒体开发 c++岗 情况说明:临时赶了一个项目介绍 PPT,前一晚熬夜找代码 bug,没有提前看面经做准备 面试过程:让先做自我介绍,我把项目放到了自我介绍中,导致于时间有点长,不像是自我介绍了,介绍项目后面试官问 了 c++编译过程分为哪几个阶段(预处理,编译,汇编,链接),项目的难点是什么(),线程之间怎么切换的(互斥锁),代码中内存怎么管理的,智能指针怎么实现安全