mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-19 12:19:16 +00:00
Antes de alterar o CSS do chatbox
This commit is contained in:
@@ -1,18 +1,13 @@
|
||||
const fs = require("fs");
|
||||
const Message = require("../models/Message");
|
||||
const Contact = require("../models/Contact");
|
||||
const io = require("../socket");
|
||||
const { getIO } = require("../socket");
|
||||
const { getWbot } = require("./wbot");
|
||||
|
||||
const wbot = require("./wbot");
|
||||
const { MessageMedia } = require("whatsapp-web.js");
|
||||
|
||||
exports.getContactMessages = async (req, res, next) => {
|
||||
const { contactId } = req.params;
|
||||
|
||||
const setMessagesAsRead = async contactId => {
|
||||
try {
|
||||
const contact = await Contact.findByPk(contactId);
|
||||
const contactMessages = await contact.getMessages();
|
||||
|
||||
const result = await Message.update(
|
||||
{ read: true },
|
||||
{
|
||||
@@ -23,6 +18,35 @@ exports.getContactMessages = async (req, res, next) => {
|
||||
}
|
||||
);
|
||||
|
||||
if (!result) {
|
||||
const error = new Error(
|
||||
"Erro ao definir as mensagens como lidas no banco de dados"
|
||||
);
|
||||
error.satusCode = 501;
|
||||
throw error;
|
||||
}
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
};
|
||||
|
||||
exports.getContactMessages = async (req, res, next) => {
|
||||
const wbot = getWbot();
|
||||
const io = getIO();
|
||||
|
||||
const { contactId } = req.params;
|
||||
|
||||
try {
|
||||
const contact = await Contact.findByPk(contactId);
|
||||
if (!contact) {
|
||||
const error = new Error("Erro ao localizar o contato no banco de dados");
|
||||
error.satusCode = 501;
|
||||
throw error;
|
||||
}
|
||||
|
||||
setMessagesAsRead(contactId);
|
||||
const contactMessages = await contact.getMessages();
|
||||
|
||||
return res.json(contactMessages);
|
||||
} catch (err) {
|
||||
next(err);
|
||||
@@ -30,9 +54,13 @@ exports.getContactMessages = async (req, res, next) => {
|
||||
};
|
||||
|
||||
exports.postCreateContactMessage = async (req, res, next) => {
|
||||
const wbot = getWbot();
|
||||
const io = getIO();
|
||||
|
||||
const { contactId } = req.params;
|
||||
const message = req.body;
|
||||
const media = req.file;
|
||||
let sentMessage;
|
||||
|
||||
try {
|
||||
const contact = await Contact.findByPk(contactId);
|
||||
@@ -45,11 +73,16 @@ exports.postCreateContactMessage = async (req, res, next) => {
|
||||
message.mediaType = "other";
|
||||
}
|
||||
|
||||
wbot.getWbot().sendMessage(`${contact.number}@c.us`, newMedia);
|
||||
sentMessage = await wbot.sendMessage(`${contact.number}@c.us`, newMedia);
|
||||
} else {
|
||||
wbot.getWbot().sendMessage(`${contact.number}@c.us`, message.messageBody);
|
||||
sentMessage = await wbot.sendMessage(
|
||||
`${contact.number}@c.us`,
|
||||
message.messageBody
|
||||
);
|
||||
}
|
||||
|
||||
message.id = sentMessage.id.id;
|
||||
|
||||
const newMessage = await contact.createMessage(message);
|
||||
if (!newMessage) {
|
||||
const error = new Error("Erro ao inserir a mensagem no banco de dados");
|
||||
@@ -57,7 +90,7 @@ exports.postCreateContactMessage = async (req, res, next) => {
|
||||
throw error;
|
||||
}
|
||||
|
||||
io.getIO().to(contactId).emit("appMessage", {
|
||||
io.to(contactId).emit("appMessage", {
|
||||
action: "create",
|
||||
message: newMessage,
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"WABrowserId":"\"W5pw0Llb60mSeV7WOHnk8A==\"","WASecretBundle":"{\"key\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\",\"encKey\":\"FQ1MZ2eIH9hKV4dqFoBYTv1/89aopcMAa4CXgh/9csM=\",\"macKey\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\"}","WAToken1":"\"mjiCXmqu33f9L6eQ/8RP/ud+axdbx9y4wDFAqfJD90o=\"","WAToken2":"\"1@o99W6mNitfwQz+tg3dNp4f5/z0mMj3tR/fRgy2wuneqfze+ccCkZ9O8NT15xRlqPwAbgdpT+nJ0krg==\""}
|
||||
{"WABrowserId":"\"W5pw0Llb60mSeV7WOHnk8A==\"","WASecretBundle":"{\"key\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\",\"encKey\":\"FQ1MZ2eIH9hKV4dqFoBYTv1/89aopcMAa4CXgh/9csM=\",\"macKey\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\"}","WAToken1":"\"cCkFiHM1JR5ck9OMV+WCiBG6QLCjsCjifdel3jRQ56k=\"","WAToken2":"\"1@0Y7HKBGDZWNuaYV7LiEwm0Y8xzlGoUGoyI8OD/KWjEH7UqVxJWfeT+pMNF4XBO7LeyEjpXVljC6rvQ==\""}
|
||||
@@ -1,4 +1,6 @@
|
||||
const Contact = require("../models/Contact");
|
||||
const Message = require("../models/Message");
|
||||
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
|
||||
@@ -6,15 +8,18 @@ const { getIO } = require("../socket");
|
||||
const { getWbot } = require("./wbot");
|
||||
|
||||
const wbotMessageListener = () => {
|
||||
getWbot().on("message", async msg => {
|
||||
const io = getIO();
|
||||
const wbot = getWbot();
|
||||
|
||||
wbot.on("message", async msg => {
|
||||
let newMessage;
|
||||
console.log(msg);
|
||||
const msgContact = await msg.getContact();
|
||||
const imageUrl = await msgContact.getProfilePicUrl();
|
||||
try {
|
||||
let contact = await Contact.findOne({
|
||||
where: { number: msgContact.number },
|
||||
});
|
||||
// await contact.update({ imageURL: imageUrl });
|
||||
|
||||
if (!contact) {
|
||||
try {
|
||||
@@ -24,9 +29,9 @@ const wbotMessageListener = () => {
|
||||
imageURL: imageUrl,
|
||||
});
|
||||
|
||||
contact.dataValues.unreadMessages = 1;
|
||||
// contact.dataValues.unreadMessages = 1;
|
||||
|
||||
getIO().emit("contact", {
|
||||
io.to("notification").emit("contact", {
|
||||
action: "create",
|
||||
contact: contact,
|
||||
});
|
||||
@@ -54,18 +59,20 @@ const wbotMessageListener = () => {
|
||||
);
|
||||
|
||||
newMessage = await contact.createMessage({
|
||||
id: msg.id.id,
|
||||
messageBody: msg.body || media.filename,
|
||||
mediaUrl: path.join("public", media.filename),
|
||||
mediaType: media.mimetype.split("/")[0],
|
||||
messageBody: msg.body || media.filename,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
newMessage = await contact.createMessage({
|
||||
id: msg.id.id,
|
||||
messageBody: msg.body,
|
||||
});
|
||||
}
|
||||
|
||||
getIO().to(contact.id).to("notification").emit("appMessage", {
|
||||
io.to(contact.id).to("notification").emit("appMessage", {
|
||||
action: "create",
|
||||
message: newMessage,
|
||||
});
|
||||
@@ -76,6 +83,25 @@ const wbotMessageListener = () => {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
|
||||
wbot.on("message_ack", (msg, ack) => {
|
||||
// console.log("alteração do ack da msg", msg);
|
||||
try {
|
||||
const result = Message.update({ ack: ack }, { where: { id: msg.id.id } });
|
||||
|
||||
if (!result) {
|
||||
const error = new Error(
|
||||
"Erro ao definir as mensagens como lidas no banco de dados"
|
||||
);
|
||||
error.satusCode = 501;
|
||||
throw error;
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
console.log("ack da msg", ack);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = wbotMessageListener;
|
||||
|
||||
Reference in New Issue
Block a user