-
-
Notifications
You must be signed in to change notification settings - Fork 399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ID da Mensagem com Inconsistência #1233
Comments
Ola Pedro, bom dia. |
Esse daqui subiu nessa atualização tb já @icleitoncosta? Acho que era só colocar mais coisas pra chegar um objeto sempre |
Opa @pedromagnox , rapaz... por algum motivo acabei não vendo ele. |
Quando eu mando mensagem chega object Quando eu recebo mensagem chega String Espero ter ajudando em relação ao tempo para identificar o problema @icleitoncosta |
Perfeito, ajudou muito. |
Olá @pedromagnox , eu estava avaliando as possibilidades, e defini que não posso executar o ajuste. Se eu fizer essa alteração agora, independende de onde eu mexa, vou quebrar a aplicação de todos os usuários, e nós evitamos de mais fazermos isso, exceto quando lançamos uma versão completamente nova, que aí muda tudo. Vou pedir para você fazer o seguinte: Faz um fork do repositório, e usa o seu repósitorio para instalar, faz a seguinte alteração em seu código e faça o commit da sua alteração em seu projeto. Caminho: src/controllers/messageController.ts
Talvez não seja o correto, mas infelizmente temos que manter assim, pra evitar quebrar todas as aplicações que já foram criadas em cima do server. Fazendo o fork dessa forma, você conseguirá manter as atualizações do server normalmente, com seu código. Irei fechar a issue, qualquer coisa, só reabrir. Abraços |
Não deu certo @icleitoncosta Não serial melhor criar uma string nova logo abaixo do id chamada serialized padronizada para todas as respostas de webhook? Tipo criar uma cópia desse serialized fora do object id |
Sobre criar esse novo objeto, tenho que conversar com os outros responsáveis pelo projeto, pois a regra geral é priorizar o mesmo código que vem do WhatsApp mesmo, então mudamos apenas quando o WhatsApp muda completamente algumas coisas. Em relação ao código tá dizendo que está faltando um colchete. Manda o código completo do sendMessage que ajusto aqui. |
Vixe. Entendi em relação a regra geral. E faz sentido existir ela. Outra coisa. Gostaria de retribuir financeiramente pela sua assistência. E se você tiver interesse, gostaria de te apresentar o que eu construí com esse repositório. Vc vai ficar de cara! rs { { |
Opa Pedro, vi que você tinha respondido com o código do sendMessage, por favor, coloca ele aqui de novo, apenas o código da função, que só vejo o colchete que faltou e já acerta em seu código. |
Ah sim! Segue o messageController.ts com a sua sugestão se alteração já. |
/*
import { Request, Response } from 'express'; import { unlinkAsync } from '../util/functions'; function returnError(req: Request, res: Response, error: any) { async function returnSucess(res: any, data: any) { export async function sendMessage(req: Request, res: Response) {
const options = req.body.options || {}; try {
} catch (error) { export async function sendFile(req: Request, res: Response) {
if (!path && !req.file && !base64) const pathFile = path || base64 || req.file?.path; try {
} catch (error) { export async function sendVoice(req: Request, res: Response) {
try {
} catch (error) { export async function sendVoice64(req: Request, res: Response) {
try {
} catch (error) { export async function sendLinkPreview(req: Request, res: Response) {
try {
} catch (error) { export async function sendLocation(req: Request, res: Response) {
try {
} catch (error) { export async function sendButtons(req: Request, res: Response) {
try {
} catch (error) { export async function sendListMessage(req: Request, res: Response) {
try {
} catch (error) { export async function sendPollMessage(req: Request, res: Response) {
try {
} catch (error) { export async function sendStatusText(req: Request, res: Response) {
try {
} catch (error) { export async function replyMessage(req: Request, res: Response) {
try {
} catch (error) { export async function sendMentioned(req: Request, res: Response) {
try {
} catch (error) {
if (!path && !req.file) const pathFile = path || req.file?.path; try {
} catch (error) {
if (!path && !req.file) const pathFile = path || req.file?.path; try {
} catch (error) { |
Ola @pedromagnox
|
Não deu nenhum erro na instalação dessa vez 🙌 Qual seria a alteração que eu deveria esperar com essa correção @icleitoncosta? |
Quando a mensagem chega pelo webhook e o FromMe = "no" o ID vem em uma string "id"
Quando o FromMe = "yes" o ID vem em um objeto "id" em uma string "_serialized"
Essa inconsistência entre objeto e string faz com que a manipulação de mensagens se torne algo inviável em aplicações no-code
Fica obrigatório o uso de um intermediário como o Make para tratar o JSON
Além de ser caro, pois estamos falando de mensagens, é lento também
Por que existe essa diferença estrutural?
Existe algum arquivo no código onde isso pode ser editado facilmente no meu servidor?
The text was updated successfully, but these errors were encountered: