Intégration Ko-fi pour Discourse

:information_source: Résumé Intégrez le système de dons/pourboires de Ko-fi avec Discourse. Récompensez les dons par des badges ou un accès à des groupes.
:hammer_and_wrench: Lien du dépôt https://github.com/magicball-network/discourse-kofi.git
:open_book: Guide d’installation Comment installer des plugins dans Discourse

Fonctionnalités

Ce plugin vous permet de lier votre compte Ko-fi à votre communauté Discourse. Les utilisateurs peuvent faire des dons via Ko-fi, ce qui peut ensuite leur accorder des récompenses telles que des badges ou un accès à des groupes. Il vous permet également d’associer les niveaux d’abonnement Ko-fi à des adhésions de groupe.

Ce plugin repose sur le webhook Ko-fi, qui envoie une notification à Discourse lorsqu’un paiement est reçu.

Vous pouvez configurer deux types de récompenses :

  1. Des récompenses ponctuelles comme des badges et des adhésions de groupe. Ces récompenses sont basées sur le montant total payé par les utilisateurs.
  2. Des adhésions de groupe mensuelles basées sur les niveaux d’abonnement. Les utilisateurs restent membres du groupe tant qu’ils continuent de payer pour ce niveau d’abonnement. L’appartenance au groupe est réévaluée chaque mois.

Outre ces récompenses, vous pouvez également afficher un tableau de bord basé sur les paiements récemment reçus.


Les différentes sections du tableau de bord peuvent être activées et configurées selon vos préférences.

Vous pouvez importer l’export CSV de Ko-fi pour enregistrer les paiements effectués avant l’installation de ce plugin.

Lorsque des paiements sont reçus, le plugin les associe aux utilisateurs en fonction de l’adresse e-mail utilisée pour le paiement Ko-fi et de leur adresse e-mail Discourse. Si ces adresses ne correspondent pas, un utilisateur peut réclamer des paiements effectués via la page Ko-fi spéciale dans les préférences utilisateur. Cela permet également aux utilisateurs de masquer leurs transactions de l’affichage public.

Configuration

Vous devez disposer d’un compte Ko-fi fonctionnel. Après avoir installé le plugin de la manière habituelle, vous devez configurer le jeton de webhook Ko-fi dans les paramètres du plugin et définir l’URL du webhook pour votre installation Discourse : https://example.org/ko-fi/webhook

Une fois cela fait, vous pouvez envoyer un message de test depuis Ko-fi et vérifier l’état du plugin sur sa page de statut pour vous assurer que tout fonctionne correctement.

Il est conseillé de configurer les récompenses avant d’activer le webhook ou d’importer un fichier CSV. Sinon, vous devrez retraiter les récompenses pour qu’elles soient appliquées aux paiements existants.

Paramètres

Voici un tableau des paramètres et de leurs descriptions :

Nom Description
kofi_webhook_token Le jeton de vérification du webhook. Vous pouvez le trouver dans votre compte Ko-fi.
kofi_account Le nom de votre compte Ko-fi. Il sera utilisé dans la description du tableau de bord et dans le widget Ko-fi, si vous les activez.
kofi_dashboard_enabled Activez le tableau de bord des dons dans Discourse à l’adresse https://example.org/ko-fi.
kofi_dashboard_in_menu Définit si un élément de menu « Dons » vers le tableau de bord doit être ajouté au menu. Si vous souhaitez personnaliser cet élément de menu, désactivez cette option.
kofi_dashboard_topic_id L’ID du sujet contenant la description sur le tableau de bord. Un sujet avec un message par défaut est créé dans la catégorie « staff » lors de l’activation du plugin.
kofi_dashboard_widget_enabled Activez le widget de dons Ko-fi sur le tableau de bord. Cela nécessite que kofi_account soit configuré.
kofi_dashboard_count Si supérieur à 0, affiche ce nombre de paiements récents.
kofi_dashboard_types Les types de paiements Ko-fi à inclure dans les paiements récents.
kofi_dashboard_anonymous_view Détails des paiements à afficher sur le tableau de bord pour les visiteurs non authentifiés.
kofi_dashboard_authenticated_view Détails à afficher lorsque les membres authentifiés accèdent au tableau de bord.
kofi_goal_amount Si supérieur à 0, activez le widget « objectif » sur le tableau de bord. Cela peut être utilisé pour afficher les progrès vers un montant cible donné.
kofi_goal_period Période sur laquelle calculer l’objectif.
kofi_goal_since Si vous sélectionnez la période « depuis », ce sera le timestamp à partir duquel calculer les progrès de l’objectif.
kofi_goal_show_amount Si activé, affiche également le montant cible sur le widget d’objectif. Sinon, seul un pourcentage sera affiché.
kofi_goal_types Types de paiements Discourse comptabilisés pour l’objectif.
kofi_goal_progress_bar_integration Active l’intégration avec le Composant de thème Progress Bar. Lorsque les progrès de l’objectif sont calculés, cela met à jour les paramètres de valeur actuelle et maximale de ce composant.
kofi_leaderboard_count Si supérieur à 0, affiche un widget de classement sur le tableau de bord.
kofi_leaderboard_days Calcule le classement en fonction des paiements des derniers jours.
kofi_leaderboard_types Types de paiements Ko-fi utilisés pour le calcul du classement.

Configuration des récompenses

Outre ces paramètres, l’onglet Récompenses dans les paramètres du plugin Ko-fi vous permet de configurer les récompenses ponctuelles et par abonnement.

Pour les récompenses par abonnement, vous devez entrer le nom du niveau que vous avez configuré sur Ko-fi. Si vous modifiez à tout moment les noms des niveaux sur Ko-fi, vous devez également les mettre à jour ici, car Ko-fi n’envoie que le nom d’affichage et non un identifiant unique.

Lors de la création ou de la modification de récompenses, vous pouvez demander le retraitement des paiements afin que ces récompenses soient attribuées aux paiements existants.

Administration

Outre les onglets Paramètres, Statut et Récompenses, la page d’administration du plugin Ko-fi contient également les onglets suivants :

  • Paiements — liste des paiements Ko-fi reçus.
  • Comptes — le lien entre les paiements Ko-fi et les utilisateurs.
  • Importation — importez un export CSV des paiements Ko-fi. Utilisez cette option pour importer des paiements déjà reçus.
  • Anonymisation — vous permet d’anonymiser complètement les paiements effectués par une adresse e-mail donnée.
3 « J'aime »

Veuillez noter que Ko-fi ne prend en charge la réception de paiements que dans une seule devise. Pour les calculs, ce plugin ne prend en compte que le montant figurant dans les informations de paiement reçues, et non la devise. Changer de devise à l’avenir faussera divers calculs. Aucune conversion de devise n’est effectuée.

Je m’appuie actuellement sur un script PHP auto-hébergé pour gérer cela sur mon site.

En utilisant votre plugin, je n’aurai plus besoin de le faire. J’espère que ma question ne sera pas mal reçue, mais je pense qu’il est légitime de demander concernant les plugins non officiels : comptez-vous maintenir ce plugin à long terme ? L’utilisez-vous vous-même ?

En théorie, seriez-vous opposé à une demande d’extraction (PR) visant à intégrer une barre de progression publique (similaire à mon composant de thème) ?

D’après ce que je comprends, le tableau de bord est accessible aux membres enregistrés, mais il n’existe pas de widget à ajouter ailleurs ?

1 « J'aime »

J’utilise ce plugin sur mon propre site Discourse (mais pas toutes ses fonctionnalités). Je vais assurer le support du plugin pour les versions ESR (que j’utilise) et la dernière version de Discourse. Ces deux versions sont testées dans la configuration du projet. Ces tests sont exécutés au moins une fois par semaine si ces versions changent.

Actuellement, seul le côté Ruby du plugin est testé automatiquement (presque chaque petite partie). Je dois encore mettre au point des ensembles de tests pour la partie JavaScript, ce que je prévois de faire éventuellement.

image

Aucun problème avec cela. Je serais également ravi de recevoir toute suggestion pour ajouter des points d’extension (par exemple, des ouvertures de plugin pour les composants de thème, ou des événements pour les plugins).

Le tableau de bord est accessible à tous les visiteurs.

J’ai délibérément évité de créer quelque chose permettant d’ajouter le widget Ko-fi à des emplacements arbitraires. Je pense que cela peut être réalisé via un composant de thème, tout comme votre composant de barre de progression. Le paramètre de compte kofi_account est disponible pour le client, ce qui devrait suffire pour tout type de widget.

1 « J'aime »