如何使用whatsapp-web.js检测whatsapp上的语音消息
我试过了,但似乎不起作用 client.on('语音', 异步 (msg) => {}
我正在开发一个项目,该项目保存发送到我的手机的各种类型的文件/内容,该手机连接到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
}
}
});
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) {
})
});
}