Discourse Topic Voting

:discourse2: Summary Discourse Topic Voting gives the ability to vote on topics in a specified category.[1]
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

To enable it, edit any category, look on the settings tab for the “Allow users to vote on topics in this category” checkbox:

Once enabled, a “Votes” item is available in the top menu. The topics in that category can be voted on with the count of votes added next to the topic title.

The vote count is also included next to the title when scrolled.

To make it easier to see vote counts from a topic list, the vote count is also added under the topic titles.

Here are the views a user will see before and after voting in a topic:

Screenshot 2024-05-13 at 10.08.17 AM Screenshot 2024-05-13 at 10.10.13 AM

There is also a section in the user’s profile page that displays their active votes:

Active Votes

The term Active Votes refers to the votes a user has cast in topics that are currently available for voting. Limiting Active Votes encourages users to vote thoughtfully for the topics that matter most to them.

  • The number of Active Votes available to each user is configurable by Trust Level. Default values:

    • TL0: 2
    • TL1: 4
    • TL2: 6
    • TL3: 8
    • TL4: 10
  • Each user may cast only one vote per topic.

  • When a topic is closed or archived, the vote count on the topic remains unchanged. These votes are no longer considered Active. The users who cast these votes will have their one vote from that topic restored to their pool of available votes.

  • If a topic is re-opened or unarchived, the votes are reclaimed and applied back to the users’ Active Vote count.

  • If a topic reclaims the votes of a user, causing them to exceed their Active Vote limit, they simply need to wait until topics are closed or archived to allow them to vote again.

  • If an entire topic (Topic A) is merged into another Topic-Voting topic (Topic B), all the the following takes place:

    1. Unique votes from Topic A are added to Topic B.
    2. Duplicated votes (the same user voted in both topics) from Topic A will not be added to Topic B. Instead, the vote from Topic A will be restored to the user’s pool of available votes.
    3. Topic A’s vote count is set to zero and the topic is closed so that no further voting can take place in Topic A.

Settings

Name Description
topic voting alert votes left Alert user when this many votes are left
topic voting enabled Allow users to vote on topics?
topic voting show who voted Allow users to see who voted?
topic voting show votes on profile Allow users to see their votes in their activity feed?
topic voting tl0 vote limit How many active votes are TL0 users allowed?
topic voting tl1 vote limit How many active votes are TL1 users allowed?
topic voting tl2 vote limit How many active votes are TL2 users allowed?
topic voting tl3 vote limit How many active votes are TL3 users allowed?
topic voting tl4 vote limit How many active votes are TL4 users allowed?

Category Setting

topic voting category setting

EXTRAS

:information_source: In the categories where the Voting plugin is activated, Likes are automatically deactivated. Some sites may want to use both functions at the same time to like replies, see how to re-enable Likes.

Data Explorer Queries

List people who voted for a topic along with their email addresses:

--[params]
-- int :topic_id

SELECT
tvv.user_id,
email
FROM topic_voting_votes tvv
JOIN user_emails ue ON ue.user_id = tvv.user_id
WHERE topic_id = :topic_id
AND ue.primary = true

More explorer queries can be found in Data & reporting - Topics tagged topic-voting

:discourse2: Hosted by us? This plugin is available on our Business and Enterprise plans Topic Voting | Discourse - Civilized Discussion


  1. and is the result of this spec put together by @erlend_sh ↩︎

Last edited by @southpaw 2025-07-25T02:39:13Z

Check documentPerform check on document:
128 curtidas

Como parte da renomeação do plugin Discourse Post Voting, também renomeamos este para complementá-lo. :partying_face: :slightly_smiling_face:

Assim, dou as boas-vindas oficialmente a todos ao plugin Discourse Topic Voting. :tada::balloon::champagne:

14 curtidas

Gostei muito deste plugin. Estou usando-o para uma categoria reservada para artigos de blog. Ao entrar em uma categoria com este plugin ativado, seria possível ordenar a lista de tópicos por número de votos em ordem decrescente?

Obrigado novamente!

1 curtida

2 posts foram divididos em um novo tópico: Votos não retornando ao fechar tópico

Notei na animação em

que o usuário só descobre que

  • ele, na verdade, tem um número limitado de votos
  • e que agora lhe restam apenas xx votos
    após clicar para votar.

Talvez ele devesse descobrir tudo isso no mouseover do botão de voto, antes de clicar.

3 curtidas

2 posts foram divididos em um novo tópico: ‘See who voted’ display issue

Para torná-lo mais oficial, as tabelas do banco de dados deste plugin agora são migradas para topic_voting_ para corresponder às de post_voting_ também, juntamente com as configurações do site.

Quando os proprietários do site atualizarem este plugin, as consultas existentes do explorador de dados que usam as tabelas antigas serão atualizadas automaticamente para usar os novos nomes de tabelas.

6 curtidas

Como posso reativar as Reações do Discourse na primeira postagem de um Tópico de Votação?

Você tentou a dica para reativar as curtidas?

2 curtidas

Ah, desculpe, eu fiz isso, mas pensei que não estava funcionando até perceber que estava olhando minhas próprias postagens, então não deveria esperar ver um botão de curtir :laughing:

2 curtidas

Existe alguma forma de adicionar o Botão de Votação diretamente na lista de tópicos?

1 curtida

Acho que é isso que você está procurando:

3 curtidas

Existe uma maneira de fazer com que o criador do tópico vote automaticamente em sua postagem? Temos muitos usuários que criam esses tópicos, mas se esquecem de votar neles, e é um pequeno incômodo ter que lembrá-los toda vez. Só estava perguntando :slight_smile:

Obrigado pelo plugin!

1 curtida

Eu concordo com isso. Sem que os usuários saibam que os votos são limitados, eles não podem ajustar seu comportamento, então o objetivo original de incentivar os usuários a votar de forma pensada não é atingido de maneira eficaz.

É possível desativar a votação por tópico em uma categoria? Queremos que a maioria dos tópicos na categoria seja votável, mas às vezes queremos postar tópicos que não possam ser votados. Vejo que há uma propriedade em tópicos chamada can_vote, mas não consigo encontrar em lugar algum na interface do usuário ou em qualquer chamada de API para atualizar isso. Parece ser possível, já que o tópico “Sobre a categoria XYZ” que é criado inicialmente não é votável.

@tyler.lamparter Talvez esta configuração nas configurações da categoria?

@NateDhaliwal nós temos isso habilitado, mas estou me perguntando se alguns tópicos colocados nessa categoria podem ter essa opção desativada. Então, 99% dos tópicos colocados em nossa categoria devem ter votação de tópicos, mas alguns poucos não deveriam.

Certo. Não acho que isso seja possível. Você pode conseguir escondê-lo com CSS, mas isso seria difícil, pois essas mudanças seriam em todo o site, e não por tópico…

O motivo pelo qual parece ser possível é que existe uma flag can_vote em cada tópico e ela já está determinando o que a interface do usuário mostra. Eu simplesmente não vejo nenhuma maneira de atualizar essa flag via API ou defini-la via interface do usuário.

O tópico “Sobre esta categoria” que é criado sempre que uma nova categoria é criada:

Um tópico que um de nossos usuários postou na categoria:

1 curtida

Para a categoria Feature aqui, as opções de votação e informações estão ocultas com um pequeno CSS baseado na tag para tópicos de feedback.

2 curtidas