Discourse ゲーミフィケーション

<div data-theme-toc="true"></div>
:discourse2: 概要
:open_book: インストールガイド
:test_tube: デモ

機能

Discourse は標準でゲーミフィケーション機能(バッジ、信頼レベル)を備えていますが、コミュニティによってはさらにレベルアップしたい場合があります。そこで登場するのが GitHub - discourse/discourse-gamification です。

このプラグインを使用すると、管理者はコミュニティ参加によってポイントが付与されるコミュニティスコアリングコンテストを簡単に作成および調整できます。

ポイントは、その日のイベントに対して1時間ごとに自動的に更新され、スコアは1日1回、過去10日間のスコアを再計算します。

Cheers

ユーザーは、コミュニティで特定の操作を実行することで「Cheers」を獲得します。各ユーザーのCheersスコアは、ユーザーカード、ユーザープロフィールに表示され、ユーザーディレクトリで有効にすることができます。

プラグインは気に入ったが、「cheers」という名前がコミュニティに最適ではない場合、Discourse のすべてのテキストをカスタマイズする を使用して、任意の名称に変更できます。

リーダーボード

管理者は複数のリーダーボードを作成でき、それぞれにカスタムの以下の設定が可能です。

  • 開始日
  • 終了日
  • 競合するユーザー
  • リーダーボードのプライバシー

デフォルトでは、/leaderboard にデフォルトのリーダーボードが用意されており、スコアが付与され始めた最初の日からのすべてのユーザーが表示されます。

デモは Discourse Meta で確認できます。

スコアリング対象

現在、以下のイベントで Cheers が付与されます。

  • 毎日の訪問
  • 受諾されたフラグ
  • 与えられたいいね
  • 受け取ったいいね
  • 作成された投稿
  • 読まれた投稿
  • 受諾された解決策(Discourse Solved (Accepted answer plugin) が必要)
  • 読んだ時間
  • 作成されたトピック
  • 受諾されたユーザー招待

今後のスコアリング対象については、ロードマップ を参照してください。

スコアのバックフィル

UI の「スコアの再計算」ボタンを使用して、履歴スコアを計算するバックフィルを実行できます。これは /admin/plugins/gamification ページにあります。

これは、スコアリング対象や対象となるスコアリングカテゴリを変更した場合に、リーダーボードを再計算するためにも使用できます。1日に最大5回までリスコアを生成でき、期間を選択(またはカスタム設定)できます。

設定

グローバルなカスタマイズには以下が含まれます。

  • 各アクションのスコア乗数
  • ポイントを獲得できるカテゴリの制限
  • プラグインの有効化と無効化

これらのプラグインレベルの設定は、/admin/site_settings/category/plugins?filter=plugin%3Adiscourse-gamification にあります。

リーダーボードを作成、削除、更新するには、管理者は /admin/plugins/gamification にアクセスできます。

ウィジェットとしての使用

これは、Right Sidebar Blocks theme component 内の小さな形式のウィジェットとしても表示できます。詳細についてはそちらを参照してください。

スコアに基づくバッジ

Enable Badge SQL を使用して、ゲーミフィケーションスコアに基づく自動バッジを設定できます。

ユーザーが9000以上のCheersを持っている場合のバッジの例を以下に示します。

SELECT user_id, current_timestamp AS granted_at
FROM gamification_scores
WHERE (:backfill OR user_id IN (:user_ids))
GROUP BY 1
HAVING SUM(score) > 9000

変更履歴

  • 2022-05-02T03:00:00Z - 公開リリース
  • 2022-05-10T05:00:00Z - 最近の変更をロードマップに追加

ロードマップ

(おおよその順序)

  • リーダーボードが prioritize usernames in ux の無効化を尊重するようにする

  • リーダーボードの表彰台で高解像度のアバターを使用する

  • バッジごとのカスタムスコアリングを追加する

  • リアクションごとのスコアリングを追加する(Discourse Reactions Beyond Likes が必要)

  • チャットイベントのスコアリングを追加する(Discourse Chat が必要)

  • 投票イベントのスコアリングを追加する(投票の作成、投票への参加)

  • メディアイベントのスコアリングを追加する(画像の投稿、動画の投稿、oneboxの投稿)

実装済み:

  • カスタムスコア列のユーザーディレクトリでi18nテーブルタイトルを修正
  • ステージングユーザーを無視
  • 匿名化されたユーザーを無視(メールアドレスが @anonymized.invalid に一致)
  • リーダーボード編集フォームのスタイル設定
  • リーダーボードの「あなた」リンクがフローティングヘッダーに対応するために、より大きなオフセットを必要とする..
  • 自分のユーザーの位置が100を超える場合に、リーダーボードで自分のユーザーのハイライトが機能しない問題を修正
  • ユーザーカード/プロフィールのCheersスコアにi18nの桁区切りを追加
  • リーダーボードに期間フィルターを追加
  • リーダーボード設定にデフォルトの期間フィルターを追加
  • リーダーボード設定に excluded_groups_ids を追加
  • 管理者がユーザーに任意のポイントを付与/削除できるようにし、Discourse外のスコアリングイベントとの統合を可能にする
  • スコアをクリックするとリーダーボードにリンクするようにする(ユーザープロフィールとユーザーカードの両方)

:discourse2: 私たちがホストしていますか?このプラグインは、当社の Business および Enterprise プランで利用可能です Gamification | Discourse - Civilized Discussion

「いいね!」 112
Right Sidebar Blocks
What are Discourse "Cheers" supposed to be?
Leaderboard Plugin
Discourse Gamification now supports custom scores for external integrations
Discourse vs Skool
Create badges based on Gamification score
Gamification options in Free discourse.group
Add Scores for Reactions
Add Scores for Chat
Use rewards points to redeem subscription hours
Points based currency to reward quality
Membership anniversary
Is there scoring for badges?
If the forum wants to accumulate good posts, shouldn't we have some stimulation/motivation system?
What are the ways to do a competition like this
Adding virtual currency / points
Looking for the perfect theme
Adding virtual currency / points
Point system in bagdes?
Check-in punch
Whats a cheer and how do you enable it?
Changes to which reactions :thumbsup: are counted as likes :heart:
[Discourse Gamification] Secrets Revealed: Spend to Discover
Is it possible to create a leaderboard for a specific category + tag?
Users losing disproportionate amount of cheers
Add Poll events to Gamification
Allow users to see trust level 3 progress on user profile
New monetisation feature proposition
Having more Trust Levels?
How to adjust gamification points without retroactively updating point values for old score-able actions
Can points values be customised per action?
Gamefication scoring for portuguese forum?
Using user cards to quickly view information about others
Add Scores for Chat
Identifying up-and-coming top contributors
How is this daily sign-in implemented? I get points randomly every day
User card loading failed
Bundling more popular plugins with Discourse core
Plugins to Enhance user Engagement
Spend “Gamification“ points to unlock hidden content
How to add a Leaderboard link to the hamburger menu?
A feature request related to this plugin. Pointed questions or rewarded questions
Likes Given & Likes Received Scoring
Can we display solved count on the /users page?
How Do You Get Cheers?
Can we have a point system? Or do we have to use plugin?
Subtract points based on certain reactions
Scores not updating right away
OP Contents on Progress Bar
Best practices: Staff who've left
Custon button how "like" ? add custom post buttons
Leaderboard- Exclude Certain Users
Set points setting + redemption
Which text fields to change to rename 'score'?
Add User leaderboard in sidebar
What is a cheer?
Ranking System - Gamification
Add Scores for Reactions
Setting a leaderboard date range should lock the default period
A fun contest idea to drive engagement - over 50 new members / intros in a week :)
How to integrate Discourse Gamification with an external system (redeem and award points)
Seeking Suggestions for User Engagement and Reward System
Need someone who is familiar with gamification to set up our site