Adicionar um botão de "Mensagem Pessoal" no Post

Você acha que é possível adicionar um botão de “Mensagem Privada” na primeira postagem do tópico? :thinking:

Fico surpreso que muitos usuários não saibam como enviar MP ao OP, pois o botão de MP não é visível a menos que cliquem no avatar do OP.

Por exemplo,


Atualmente, estou usando o plugin " discourse-custom-topic-button".

E utilizo a URL de
example.com/new-message?username=<TOPIC_USERNAME>&title=Re:<TOPIC_TITLE>

No entanto, quando o usuário clica no botão, ele é redirecionado imediatamente para a página inicial, antes que o editor de mensagens apareça. Ele não funciona da mesma forma que o botão “Mensagem” no cartão do usuário. Se você clicar no botão “Mensagem” no cartão do usuário, o editor de mensagens aparece imediatamente sem redirecionar para outra página.

Você acha que é possível fazer com que o botão personalizado (URL new-message) funcione da mesma forma que o botão “Mensagem” no cartão do usuário? :thinking:

Recentemente construí isso para um cliente:

É de código aberto. Pode atender às suas necessidades. Basta adicionar as Categorias em que deseja que ele apareça. Me avise se encontrar algum bug.

Infelizmente, não tenho tempo para estendê-lo no momento.

Agradecimentos a @davidkingham por nos contratar para fazer o trabalho e permitir que isso fosse de código aberto, apoiando, assim, a comunidade em geral.

10 curtidas

Muito obrigado. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

Funciona exatamente como eu estava procurando. :partying_face: :partying_face: :partying_face:


Só por curiosidade, :grinning:

Você acha que posso adicionar
{{#if this.user.can_send_private_message_to_user}}
ao “pm-topic-author.hbs”, para que o botão não apareça se o usuário for o mesmo que o OP? :thinking:

Semelhante ao cartão de usuário do Discourse “user-card-contents.hbs

3 curtidas

Ótima observação!

Já que temos a propriedade showPMTopicAuthorButton, provavelmente deveríamos fazer isso em JS, embora sua solução seja uma ótima abordagem provisória.

3 curtidas

Então, fiz isso com JS:

Obrigado pelo seu feedback.

Atualize quando tiver oportunidade e, por favor, confirme se funcionou para você.

10 curtidas

Muito obrigado pela atualização. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

Agora funciona perfeitamente para usuários logados. :partying_face: :partying_face: :partying_face:

No entanto, parece que, após a atualização, o plugin causa algum erro para usuários não logados. Quando um usuário não logado visita a página, o conteúdo do post aparece em branco. Apenas o título, a categoria e a tag são exibidos, mas tudo abaixo está vazio. :thinking:

Inspecionador do navegador:

Log de erro:

1 curtida

Erro de iniciante :man_facepalming:t3: - introduzi isso na última alteração. Espero que isso resolva o problema para você :slight_smile:

4 curtidas

Você já o tem aqui no editor, clique na seta de resposta no canto superior esquerdo, assim, e depois selecione Nova Mensagem.

Olá, vejo que agora você mantém este plugin no github?

Instalei o plugin, mas ele não parece funcionar. Primeiro, o botão de ligar está cinza na página de Plugins, veja abaixo. Não tenho certeza do que isso significa?

Em seguida, as configurações de valores não mostram um botão ao lado do nome do usuário.

Este plugin ainda funciona? Podemos fazê-lo funcionar?

Olá,
Quero adicionar um botão de Enviar Mensagem ao lado do nome do usuário nas postagens, como mostrado abaixo:

Tenho lido vários posts relacionados a este recurso, mas nenhum deles parece satisfazer minhas necessidades.

Li este, mas ele aponta para um componente de tema que adiciona um botão na parte inferior do tópico.

Alguma ideia de como conseguir isso?

Não parece haver uma saída de plugin para colocar o botão exatamente onde você deseja:

Talvez você possa se contentar em tê-lo em topic-above-posts.

Em seguida, você criaria um componente glimmer que adiciona o botão. Finalmente, você usaria api.renderInOutlet para que esse componente aparecesse lá. Custom Components -- add button or text at any plugin outlet é um exemplo disso.

Então você modificaria isto:

e apenas descobriria o URL para iniciar essa mensagem (Prefilled composer link generator pode ajudar – você só precisa saber qual link deseja).

3 curtidas

Obrigado pela resposta. Está além das minhas capacidades.
Havia um plugin para esses requisitos exatos, parece ter sido removido Add a "Personal Message" button on Post é isso que eu estava procurando.

Oi, Sally! Estou me perguntando por que você gostaria de fazer isso. Você não quer que seus membros respondam ao tópico para terem uma conversa juntos? Adicionar um link como esse também vai sobrecarregar a interface e distrair seus membros.

Por que não é suficiente para você que, ao clicar no avatar/nome de usuário, você possa ver um usercard aparecer com o botão para enviar uma mensagem ao membro diretamente?

3 curtidas

Estou tentando construir um sistema de mensagens onde os usuários podem postar no fórum, mas o principal recurso é enviar mensagens uns aos outros. Então, quero que o botão Mensagem esteja visível. Qualquer novo usuário levará tempo para descobrir como enviar uma mensagem.

1 curtida

Essa é uma utilização interessante do Discourse! Você pode conseguir apenas educando melhor seus membros sobre como acessar o cartão de usuário para responder via mensagem pessoal (ou chat? vocês também estão usando o chat?). Você poderia criar um banner persistente no topo, por exemplo. E explicar como acessá-lo em sua mensagem de boas-vindas.

Se você realmente precisa desse botão e tem um orçamento, você pode postar em Marketplace e talvez alguém aqui possa criá-lo para você.

Já fiz isso, mostrando no topo, enviando instruções na mensagem de boas-vindas, na página “Sobre nós” e assim por diante.

Não estou usando chat, mensagens servem para mim.

Sim, esse seria o último recurso.

Gostaria que alguém revivesse este plugin, pois ele funcionou no passado, não funcionou?

Eu sou o autor original. Mesmo que ainda funcionasse, o plugin apenas adiciona o botão ao primeiro Post não a todos os Posts.

3 curtidas

Olá Robert, Sim, é exatamente isso que eu quero, adicionar o botão Mensagem ao lado do primeiro post do OP.

O problema é que o plugin não funciona, ele não mostra o botão Mensagem. Eu o instalei. Posso ver que o botão Ligar está acinzentado na página Plugins para este plugin, não tenho certeza do que isso significa?

Você seria capaz de reviver este plugin? Por favor? Se você tiver algum tempo livre.

Na verdade, o componente de tema de componentes personalizados funcionaria.

Basta colocar na URL para iniciar um pm (acho que funciona?) e o plugin outlet que mencionei acima nas configurações.

Editar:

Ah. Droga.

Não. Você precisa disso

 https://your.discourse.site/new-message?username=username

E não há mecanismo para incluir o nome de usuário do tópico.

Se você tiver orçamento e quiser patrocinar o trabalho, me envie uma mensagem privada.

2 curtidas