Created
December 13, 2023 17:06
-
-
Save olaronymax/302b7d6ab21f3c85f9e68febec29020d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
switch (messageType) { | |
case "audioMessage": | |
switch (plano) { | |
case "gold": | |
if (await excedeuLimiteDiario(remoteJid, plano, userId)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarAudio(mensagem, remoteJid); | |
break; | |
case "diamante": | |
await processarAudio(mensagem, remoteJid, userId); | |
break; | |
default: | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarAudio(mensagem, remoteJid, userId); | |
break; | |
} | |
break; | |
case "videoMessage": | |
switch (plano) { | |
case "gold": | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarVideo(mensagem, remoteJid, userId); | |
break; | |
case "diamante": | |
await processarVideo(mensagem, remoteJid, userId); | |
break; | |
default: | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarVideo(mensagem, remoteJid, userId); | |
break; | |
} | |
break; | |
case "imageMessage": | |
switch (plano) { | |
case "gold": | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarImagem(mensagem, remoteJid, userId); | |
break; | |
case "diamante": | |
await processarImagem(mensagem, remoteJid, userId); | |
break; | |
default: | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res.status(403).send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
await processarImagem(mensagem, remoteJid, userId); | |
break; | |
} | |
break; | |
case "reactionMessage": | |
switch (plano) { | |
case "gold": | |
// Lógica para usuários gold | |
break; | |
case "diamante": | |
// Lógica para usuários diamante | |
break; | |
default: | |
// Lógica padrão para o plano "free" | |
break; | |
} | |
await enviarReacao(remoteJid, mensagem.data.key.id, "❤"); | |
break; | |
case "conversation": | |
case "extendedTextMessage": | |
const textoMensagem = getMessageText(mensagem.data.message); | |
if (contemLinkDoYouTube(textoMensagem)) { | |
const videoId = extrairVideoIdDoYouTube(textoMensagem); | |
if (videoId) { | |
const messageId = mensagem.data.key.id; | |
console.log(`Processando mensagem de vídeo com ID ${messageId}`); | |
try { | |
// Baixe e processe o vídeo usando o ID do vídeo | |
const videoUrl = await baixarVideoDoYouTube( | |
videoId, | |
remoteJid, | |
messageId | |
); | |
switch (plano) { | |
case "gold": | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res | |
.status(403) | |
.send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
break; | |
case "diamante": | |
// Lógica para usuários diamante | |
break; | |
default: | |
if (await excedeuLimiteDiario(remoteJid, plano)) { | |
res | |
.status(403) | |
.send("Você excedeu o limite diário de mensagens."); | |
return; | |
} | |
break; | |
} | |
await processarYouTube(messageId, remoteJid, videoUrl, mensagem); | |
} catch (error) { | |
console.error(`Erro durante o processamento do vídeo: ${error}`); | |
} | |
} | |
} else { | |
// A mensagem não contém um link do YouTube, envie uma resposta padrão | |
const respostaPadrao = `Eu ainda não analiso textos 📝, mas você pode mandar *Áudios* 🎧, *Fotos* 📸, *Vídeos* 🎥 e Links do *YouTube* 🌐 que eu consigo analisar.\n\n*Obs: Não envie mais de uma mídia por vez, pois o processamento pode demorar.* ⏳`; | |
await enviarRespostaUsuario(remoteJid, respostaPadrao); | |
} | |
break; | |
default: | |
// Tipo de mensagem desconhecido | |
console.log("Tipo de mensagem desconhecido:", messageType); | |
res.status(400).send("Tipo de mensagem desconhecido."); | |
break; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment