Skip to content

Conversation

@oriondesign2015
Copy link
Contributor

@oriondesign2015 oriondesign2015 commented May 19, 2025

Descrição

Esta PR implementa melhorias no processamento de mensagens do serviço N8N e corrige um problema no tratamento de mensagens retornadas na integração do EvolutionBot. As alterações visam melhorar o tratamento de links e formatação markdown nas mensagens, além de resolver a questão de aspas extras que estavam sendo incluídas no início e fim das mensagens.

Mudanças

  • Ajustada a desestruturação do objeto match para capturar corretamente o texto completo do link markdown.
  • Modificado o tratamento de links que não são mídia para preservar a formatação original.
  • Mantida a expressão regular para detecção de links markdown.
  • Implementada uma lógica inteligente para tratar as aspas nas mensagens do EvolutionBot:
    • Verifica se a mensagem inteira está entre aspas simples.
    • Se estiver, verifica se há aspas simples dentro do conteúdo.
    • Remove as aspas externas apenas se não houver aspas/apóstrofos dentro do conteúdo.

Impacto

  • Mensagens com links markdown agora são processadas de forma mais consistente.
  • A formatação original dos links é preservada quando não são tratados como mídia.
  • Melhor tratamento de casos onde o link não corresponde a um tipo de mídia suportado.
  • Mensagens com aspas extras são corrigidas: 'texto' -> texto.
  • Mensagens com aspas/apóstrofos legítimos são preservadas: 'texto com "aspas" e don't' -> 'texto com "aspas" e don't'.
  • Melhora a formatação das mensagens enviadas pelo bot.
  • Mantém a compatibilidade com o formato de mensagens do n8n.

Prints Antes:

Tentativa de envio de imagem com markdown na integração do N8N:
image

Tentativa de envio de imagem com markdown na integração Evolution Bot:
image

Prints Depois:

Tentativa de envio de imagem com markdown na integração do N8N:
image

Tentativa de envio de imagem com markdown na integração Evolution Bot:
image

Summary by Sourcery

Improve markdown link handling in N8N integration and strip extraneous quotes in EvolutionBot message responses.

Bug Fixes:

  • Remove unnecessary surrounding single quotes from EvolutionBot responses without affecting valid apostrophes.

Enhancements:

  • Refine N8N markdown link regex and destructuring to capture full matches and preserve original formatting for non-media links.

## Descrição
Esta PR implementa melhorias no processamento de mensagens do serviço N8n, especificamente no método `sendMessageWhatsApp`. As alterações visam melhorar o tratamento de links e formatação markdown nas mensagens.

## Mudanças
- Ajustada a desestruturação do objeto `match` para capturar corretamente o texto completo do link markdown
- Modificado o tratamento de links que não são mídia para preservar a formatação original
- Mantida a expressão regular para detecção de links markdown

## Impacto
- Mensagens com links markdown agora são processadas de forma mais consistente
- A formatação original dos links é preservada quando não são tratados como mídia
- Melhor tratamento de casos onde o link não corresponde a um tipo de mídia suportado
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented May 19, 2025

Reviewer's Guide

This PR enhances message formatting by refining markdown link processing in N8nService—improving regex matching, destructuring, and preserving original link formatting for non-media—and introduces logic in EvolutionBotService to intelligently strip superfluous external single quotes from returned messages without altering legitimate internal apostrophes or quotes.

File-Level Changes

Change Details Files
Refined markdown link processing in N8nService
  • Updated regex to match optional '!' and capture alt text and URL
  • Adjusted array destructuring to extract full match instead of only alt text and URL
  • Appended fullMatch when URL is not a supported media type to preserve original formatting
src/api/integrations/chatbot/n8n/services/n8n.service.ts
Implemented intelligent external quote removal in EvolutionBotService
  • Added type check to ensure message is a string before processing
  • Detected and stripped outer single quotes only if no inner single quotes exist
  • Preserved messages containing legitimate internal quotes or apostrophes
src/api/integrations/chatbot/evolutionBot/services/evolutionBot.service.ts

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

## Descrição
Esta PR corrige um problema no tratamento de mensagens retornadas na integração do EvolutionBot, onde aspas extras estavam sendo incluídas no início e fim das mensagens quando acompanhado de Markdown.

## Solução
Foi implementada uma lógica inteligente para tratar as aspas nas mensagens:
- Verifica se a mensagem inteira está entre aspas simples
- Se estiver, verifica se há aspas simples dentro do conteúdo
- Remove as aspas externas apenas se não houver aspas/apóstrofos dentro do conteúdo

Isso garante que:
- Mensagens com aspas extras são corrigidas: `'texto'` -> `texto`
- Mensagens com aspas/apóstrofos legítimos são preservadas: `'texto com "aspas" e don't'` -> `'texto com "aspas" e don't'`

## Impacto
- Melhora a formatação das mensagens enviadas pelo bot
- Preserva aspas e apóstrofos que fazem parte legítima do conteúdo
- Mantém a compatibilidade com o formato de mensagens do n8n
@oriondesign2015 oriondesign2015 changed the title Correção do Markdown na integração N8N Correção do Markdown na integração N8N e tratamento de mensagens do EvolutionBot May 19, 2025
@oriondesign2015
Copy link
Contributor Author

@sourcery-ai review

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @oriondesign2015 - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
@nestordavalos
Copy link
Contributor

top my friend apply npm run lint please

@acauaferreira
Copy link

up... ### uma imagem valeu mais que mil palavras

Corrige problemas de formatação identificados pelo Prettier no arquivo evolutionBot.service.ts que acabei deixando e alertado pelo git, removendo espaços em branco desnecessários e ajustando a indentação do código.
@DavidsonGomes
Copy link
Collaborator

implementado no novo formato

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants