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

Do you think it is possible to add a “Private Message” button to the topic first post? :thinking:

I am surprised that many users don’t know how to send PM to OP, because the PM button is not visible unless they click on the OP’s avatar.

For example,


Currently, I am using the " discourse-custom-topic-button" plugin.

And use the url of
example.com/new-message?username=<TOPIC_USERNAME>&title=Re:<TOPIC_TITLE>

However, when user click on the button, it jump to the front page immediately, before the Message editor show up. It doesn’t act the same as the “Message” button in user card. If you click on the “Message” button in user card, it show up the message editor immediate without jumping to other page.

Do you think it is possible to make the custom button (new-message url) act the same as the Message button in user card ? :thinking:

I recently built this for a client:

https://github.com/paviliondev/discourse-pm-topic-author

It is open-source. It may suit your needs. Just add the Categories you want it to appear in. Let me know if you hit any bugs.

Unfortunately I don’t have time to extend it at present.

Thanks to @davidkingham for commissioning us to do the work and allowing this to be open source, and in turn therefore supporting the wider community.

10 curtidas

Thank you very much. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

It works exactly what I am looking for. :partying_face: :partying_face: :partying_face:


Just out of curiosity, :grinning:

Do you think I can add
{{#if this.user.can_send_private_message_to_user}}
to “pm-topic-author.hbs” , so that the button won’t show up if the user is the same as the OP ? :thinking:

Similar to Discourse User card “user-card-contents.hbs

pm-topic-author.hbs

3 curtidas

Good catch!

Given we already have the showPMTopicAuthorButton property, we should probably do that in JS, though your solution is a great interim approach.

3 curtidas

So I’ve done that with JS:

https://github.com/paviliondev/discourse-pm-topic-author/commit/a82ac238d9dce2291e827b66784aef1715e077c0

Thanks for your feedback.

Upgrade when you get chance and please confirm that works for you.

10 curtidas

Thank you very much for the update. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

Now It works perfectly well for login user. :partying_face: :partying_face: :partying_face:

However, it seem after updated, the plugin cause some error for non-login user. When non-login user visit the page, it get a blank post. It only show the title, category, tag, but everything below is empty . :thinking:

Browser Inspector:
2021-04-11_053333

Error log:

1 curtida

https://github.com/paviliondev/discourse-pm-topic-author/commit/ed5a0128c754e1017a752a08bf3725acf3f5bfb5
Schoolboy error :man_facepalming:t3:- introduced that in last change. Hopefully that resolves it for you :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