Estoy intentando descargar una imagen enviada por el usuario, pero el ctx dice que no hay downloadMedia
// Fluxo para tratar a escolha de "imagem"
const flowImagem = addKeyword(['imagem'])
.addAnswer(['Tire uma foto nítida com boa iluminação.'])
.addAnswer(['Certifique-se de que a numeração da placa esteja visível.'])
.addAnswer(['Por favor, envie a foto da placa. 🤳'], { capture: true, idle: endFlowTime },
async (ctx, { endFlow, flowDynamic, inRef }) => {
if (ctx?.idleFallBack) {
await flowDynamic([
'⚠️ Sua sessão foi cancelada devido à inatividade!',
'Para começar novamente escreva recomeçar.'
])
return endFlow()
}
if (ctx.type === 'image' && ctx.hasMedia === true) {
let mediaHash = ctx._data.filehash.replace(/\//g, "+").replace(/\\/g, "-");
mediaHash = "./mediaCache/" + mediaHash + ".cache";
let receivedImage = null;
if (fs.existsSync(mediaHash)) {
receivedImage = fs.readFileSync(mediaHash, "utf8");
receivedImage = JSON.parse(receivedImage);
receivedImage = new MessageMedia(receivedImage.mimetype, receivedImage._data);
} else {
receivedImage = await ctx.downloadMedia();
fs.writeFileSync(mediaHash, JSON.stringify(receivedImage), "utf8");
}
} else {
return fallBack('Por favor, envie uma imagem válida!');
}
}
)
.addAction(async (ctx, { flowDynamic, provider, fallBack, }) => {
})
ERROR
TypeError: ctx.downloadMedia is not a function
at Object.ans_e0049ddc-1adc-4f0e-aacd-1a3f5d90e006 (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\app.js:65:47)
at runContext (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1444:57)
at cbEveryCtx (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1471:19)
at sendFlow (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1191:23)
at C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1547:42
at exportFunctionsSend (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1476:19)
at CoreClass.handleMsg (C:\Users\Fortes\Desktop\whatsapp-plate-bot\base-wweb-mysql\node_modules\@bot-whatsapp\bot\lib\bundle.bot.cjs:1547:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
¿Que versión estas usando?
v2
¿Sobre que afecta?
DialogFlow
Describe tu problema
Estoy intentando descargar una imagen enviada por el usuario, pero el ctx dice que no hay downloadMedia
// Fluxo para tratar a escolha de "imagem" const flowImagem = addKeyword(['imagem']) .addAnswer(['Tire uma foto nítida com boa iluminação.']) .addAnswer(['Certifique-se de que a numeração da placa esteja visível.']) .addAnswer(['Por favor, envie a foto da placa. 🤳'], { capture: true, idle: endFlowTime }, async (ctx, { endFlow, flowDynamic, inRef }) => { if (ctx?.idleFallBack) { await flowDynamic([ '⚠️ Sua sessão foi cancelada devido à inatividade!', 'Para começar novamente escreva recomeçar.' ]) return endFlow() }
Node.js v20.15.1
PROVIDER whatsapp-web.js github:pedroslopez/whatsapp-web.js#webpack-exodus
Reproducir error
No response
Información Adicional
No response