如何使用whatsapp-web.js检测whatsapp上的语音消息

问题描述 投票:0回答:2

如何使用whatsapp-web.js检测whatsapp上的语音消息

我试过了,但似乎不起作用 client.on('语音', 异步 (msg) => {}

message whatsapp voice
2个回答
1
投票

我正在开发一个项目,该项目保存发送到我的手机的各种类型的文件/内容,该手机连接到whatsapp-web.js 库。 我建议您使用传入消息类型的一些日志来测试该解决方案。

您可以直接通过消息回复(msg)解决此问题:

client.on('message', async msg => {
   if(msg.type == 'ptt'){
      // is a voice message
   }
});

还有 downloadMedia() 的 mimetype:

client.on('message', async msg => {
   if(msg.hasMedia) {
      const media = await msg.downloadMedia();
      var mmtype = media.mimetype;
      if(media.mimetype.contains('audio/ogg')){
         // is a voice message
         // don't know if .contains() is the solution try other comparators
      }
   }
});

0
投票
 if (msg.type == 'ptt') {
    console.log("Voice Clip Received");

    const media = await msg.downloadMedia().
        then((data) => {

            const binaryData = Buffer.from(data.data, 'base64');
            fs.writeFile('audio.ogg', binaryData, function (err) {
            })
        });      
}
© www.soinside.com 2019 - 2024. All rights reserved.