Integración de Ko-fi en Discourse

:information_source: Resumen Integra el sistema de donaciones/bocetos de Ko-fi con Discourse. Recompensa las donaciones con insignias o membresías en grupos.
:hammer_and_wrench: Enlace al repositorio https://github.com/magicball-network/discourse-kofi.git
:open_book: Guía de instalación Cómo instalar plugins en Discourse

Características

Este plugin te permite vincular tu cuenta de Ko-fi con tu comunidad de Discourse. Las personas pueden donar dinero a través de Ko-fi, lo que a su vez puede otorgar recompensas como insignias o membresías en grupos. También permite asociar los niveles de suscripción de Ko-fi con membresías en grupos.

Este plugin depende del webhook de Ko-fi, que enviará una notificación a Discourse cuando se reciba un pago.

Puedes configurar dos tipos de recompensas:

  1. Recompensas únicas, como insignias y membresías en grupos. Estas recompensas se basan en la cantidad total que las personas han pagado.
  2. Membresías mensuales en grupos basadas en niveles de suscripción. Las personas permanecen miembros del grupo mientras sigan pagando por ese nivel de suscripción. La membresía en el grupo se vuelve a evaluar después de un mes.

Además de estas recompensas, también puedes mostrar un panel de control basado en los pagos recibidos recientemente.


Las diferentes secciones del panel de control se pueden habilitar y configurar según tus preferencias.

Puedes importar la exportación CSV de Ko-fi para registrar los pagos realizados antes de instalar este plugin.

Cuando se reciben pagos, el plugin los vincula con los usuarios basándose en la dirección de correo electrónico que utilizaron para el pago en Ko-fi y su dirección de correo electrónico en Discourse. Si estas direcciones no coinciden, un usuario puede reclamar los pagos realizados a través de la página especial de Ko-fi en las preferencias del usuario. También permite a los usuarios ocultar su transacción de la vista pública.

Configuración

Necesitas tener una cuenta de Ko-fi funcional. Después de instalar el plugin de la manera habitual, debes configurar el token de webhook de Ko-fi en la configuración del plugin y configurar la URL del webhook en tu instalación de Discourse: https://ejemplo.org/ko-fi/webhook

Si has hecho esto, puedes enviar un mensaje de prueba desde Ko-fi y verificar en la página de estado del plugin si todo está correcto.

Es posible que desees configurar las recompensas antes de habilitar el webhook o importar un CSV. De lo contrario, tendrás que reprocesar las recompensas para que se apliquen a los pagos actuales.

Configuraciones

Incluye una tabla de configuraciones y sus descripciones

Nombre Descripción
kofi_webhook_token El token de verificación del webhook. Puedes encontrarlo en tu cuenta de Ko-fi.
kofi_account El nombre de tu cuenta de Ko-fi. Se utilizará en la descripción del panel de control y en el widget de Ko-fi si los habilitas.
kofi_dashboard_enabled Habilita el panel de control de donaciones en Discourse en https://ejemplo.org/ko-fi.
kofi_dashboard_in_menu Define si se debe agregar un elemento de menú “Donaciones” al panel de control. Si deseas personalizar este elemento del menú, debes deshabilitar esta opción.
kofi_dashboard_topic_id El ID del tema que contiene la descripción en el panel de control. Se crea un tema con un mensaje predeterminado en la categoría “personal” cuando se habilita el plugin.
kofi_dashboard_widget_enabled Habilita el widget de donaciones de Ko-fi en el panel de control. Esto requiere que kofi_account esté configurado.
kofi_dashboard_count Si es mayor que 0, muestra este número de pagos recientes.
kofi_dashboard_types Los tipos de pago de Ko-fi a incluir en los pagos recientes.
kofi_dashboard_anonymous_view Detalles del pago que se mostrarán en el panel de control para visitantes que no estén autenticados.
kofi_dashboard_authenticated_view Detalles que se mostrarán cuando los miembros autenticados accedan al panel de control.
kofi_goal_amount Si es mayor que 0, habilita el widget “objetivo” en el panel de control. Esto se puede usar para mostrar el progreso hacia una cantidad objetivo dada.
kofi_goal_period Período sobre el cual calcular el objetivo.
kofi_goal_since Si seleccionas el período “desde”, esta será la marca de tiempo desde la cual calcular el progreso del objetivo.
kofi_goal_show_amount Si está habilitado, también muestra la cantidad objetivo en el widget del objetivo. De lo contrario, solo tendrás un porcentaje.
kofi_goal_types Tipos de pago de Discourse que se cuentan hacia el objetivo.
kofi_goal_progress_bar_integration Esto habilita la integración con el Componente de tema Barra de progreso. Cuando se calcula el progreso del objetivo, se actualizarán la configuración de valor actual y máximo de este componente.
kofi_leaderboard_count Si es mayor que 0, muestra un widget de tabla de clasificación en el panel de control.
kofi_leaderboard_days Calcula la tabla de clasificación basándose en los pagos de los últimos días.
kofi_leaderboard_types Tipos de pago de Ko-fi que se utilizan para el cálculo de la tabla de clasificación.

Configuración de recompensas

Además de estas configuraciones, hay una pestaña Recompensas en la configuración del plugin de Ko-fi donde puedes configurar las recompensas únicas y de suscripción.

Para las recompensas de suscripción, debes ingresar el nombre del nivel que configuraste en Ko-fi. Si alguna vez cambias los nombres de los niveles en Ko-fi, también debes actualizarlos allí, ya que Ko-fi solo enviará el nombre de visualización y no algún tipo de ID único.

Al crear o modificar recompensas, puedes solicitar que los pagos se reprocesen para que estas recompensas se otorguen a los pagos existentes.

Administración

Además de las pestañas de configuración, estado y recompensas, también hay las siguientes pestañas en la página de administración del plugin de Ko-fi:

  • Pagos: lista de pagos recibidos de Ko-fi.
  • Cuentas: el vínculo entre los pagos de Ko-fi y los usuarios.
  • Importar: importa una exportación CSV de pagos de Ko-fi. Utiliza esto para importar pagos ya recibidos.
  • Anonimizar: te permite anonimizar completamente los pagos realizados por una dirección de correo electrónico dada.
2 Me gusta

Tenga en cuenta que Ko-fi solo admite la recepción de pagos en una sola moneda. Para los cálculos, este plugin solo considera el monto en la información de pago recibida, no la moneda. Cambiar la moneda en el futuro afectará varios cálculos. No hay conversión de moneda.

Actualmente, dependo de un script PHP autoalojado para gestionar esto en mi sitio.

Al usar tu plugin, ya no será necesario. Espero que mi pregunta no sea indeseada, pero creo que es justo preguntar sobre plugins no oficiales: ¿es probable que mantengas este plugin a largo plazo? ¿Lo utilizas tú mismo?

En teoría, ¿te opondrías a una solicitud de extracción (PR) para integrar una barra de progreso pública (similar a mi componente de tema)?

Por lo que entiendo, el panel de control puede ser accedido por miembros registrados, pero ¿no hay ningún widget para añadir en otro lugar?

1 me gusta

Uso este plugin en mi propio sitio de Discourse (aunque no todas sus funciones). Voy a dar soporte al plugin tanto para ESR (que es lo que ejecuto yo) como para la última versión de Discourse. Ambas versiones se prueban contra en la configuración del proyecto. Estas pruebas se ejecutan al menos una vez por semana si esas versiones cambian.

Actualmente, solo la parte de Ruby del plugin se prueba automáticamente (casi cada pequeño detalle). Todavía tengo que definir cómo escribir los conjuntos de pruebas para la parte de JavaScript, algo que planeo hacer eventualmente.

image

No tengo ningún problema con eso. También agradecería cualquier sugerencia para agregar puntos de extensión (por ejemplo, salidas de plugin para componentes de tema o eventos para plugins).

El panel de control está disponible para todos los visitantes.

Decidí expresamente no crear algo para agregar el widget de Ko-fi a ubicaciones arbitrarias. Creo que eso se puede hacer mediante componentes de tema, de manera muy similar a tu componente de barra de progreso. La configuración de cuenta kofi_account está disponible para el cliente, lo cual debería ser suficiente para cualquier tipo de widget.

1 me gusta