Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
slack events api se activa varias veces por un mensaje

Estoy usando la API de Slack para obtener un enlace de un espacio de trabajo de Slack. Funciona excepto cuando se publica un mensaje, se activa más de una vez. Cada vez. Aquí está el código que tengo:

 exports.slack = (req , res) => { var message = req.body; if (message.challenge) { res.send(message.challenge); } else if (message.event.type == 'message_received') { if (message.event.text.includes('<')) { // Link console.log('NEW LINK'); var link = message.event.text.slice(1, -1); getArticleInfo(link, (error, body) => { if (error) console.error(error); else { newArticleToDB(body , link, req); } }); } } }

Cada vez que se publica un nuevo mensaje, recibo un registro de 'NUEVO ENLACE' varias veces. ¿Alguna idea de dónde buscar este problema?

Gracias.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

res.sendStatus(200) y ahora todo funciona como se esperaba. Aquí está el código:

 exports.slack = (req , res) => { var message = req.body; res.sendStatus(200); if (message.challenge) { res.send(message.challenge); } else if (message.event.type == 'message' && message.event.subtype != 'message_changed') { if (message.event.text && message.event.text.includes('<')) { // Link console.log('NEW LINK'); var link = message.event.text.slice(1, -1); getArticleInfo(link, (error, body) => { if (error) console.error(error); else { newArticleToDB(body , link, req); } }); } }
over 4 years ago · Santiago Trujillo Relatório

0

Tuve el problema, gracias por la sugerencia de @taylor-singletary. tuve que imprimir

 console.log('Request Headers::: ', JSON.stringify(req.headers));

buscar

 "x-slack-retry-num":"1"

Para obtener el valor del encabezado, simplemente consulte esta pregunta: Cómo extraer los encabezados HTTP de una solicitud mediante la conexión NodeJS

over 4 years ago · Santiago Trujillo Relatório

0

Tuve el mismo problema al recibir múltiples eventos. Resultó que estaba recibiendo 1 evento por cada evento de usuario de bot que agregué. No sé si este es el comportamiento previsto de la API, pero decidí eliminar todos los eventos excepto app_mention y ahora solo recibo 1 evento.

Suscríbete a eventos de bots

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda