Интеграция Ko-fi в Discourse

:information_source: Краткое описание Интеграция системы пожертвований/чаевых Ko-fi с Discourse. Награждайте доноров бейджами или добавлением в группы.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/magicball-network/discourse-kofi.git
:open_book: Руководство по установке Как установить плагины в Discourse

Возможности

Этот плагин позволяет связать ваш аккаунт Ko-fi с вашим сообществом на Discourse. Пользователи могут делать пожертвования через Ko-fi, что, в свою очередь, может предоставлять им награды, такие как бейджи или членство в группах. Также вы можете привязать уровни подписки Ko-fi к членству в группах.

Плагин использует веб-хук Ko-fi, который отправляет уведомление в Discourse при получении платежа.

Вы можете настроить два вида наград:

  1. Разовые награды, такие как бейджи и членство в группах. Эти награды основаны на общей сумме, которую заплатили пользователи.
  2. Ежемесячное членство в группах на основе уровней подписки. Пользователи остаются членами группы, пока они продолжают платить за этот уровень подписки. Членство в группе пересматривается раз в месяц.

Помимо этих наград вы также можете отображать панель управления на основе недавно полученных платежей.


Разделы панели управления можно включать и настраивать по вашему усмотрению.

Вы можете импортировать CSV-экспорт из Ko-fi, чтобы зарегистрировать платежи, сделанные до установки этого плагина.

При получении платежей плагин сопоставляет их с пользователями на основе адреса электронной почты, использованного при оплате через Ko-fi, и адреса электронной почты пользователя в Discourse. Если эти адреса не совпадают, пользователь может заявить о сделанных платежах через специальную страницу Ko-fi в настройках профиля. Это также позволяет пользователю скрыть свою транзакцию от публичного просмотра.

Конфигурация

У вас должен быть рабочий аккаунт Ko-fi. После установки плагина обычным способом необходимо настроить токен веб-хука Ko-fi в настройках плагина и указать URL веб-хука для вашей установки Discourse: https://example.org/ko-fi/webhook

Если вы это сделали, вы можете отправить тестовое сообщение из Ko-fi и проверить статус плагина на странице состояния, чтобы убедиться, что всё работает правильно.

Возможно, вам стоит настроить награды перед включением веб-хука или импортом CSV. В противном случае вам потребуется повторно обработать награды, чтобы они были применены к текущим платежам.

Настройки

Ниже приведена таблица настроек и их описаний:

Название Описание
kofi_webhook_token Токен проверки веб-хука. Вы можете найти его в своём аккаунте Ko-fi.
kofi_account Имя вашего аккаунта Ko-fi. Оно будет использоваться в описании панели управления и виджете Ko-fi, если они включены.
kofi_dashboard_enabled Включить панель управления пожертвованиями в Discourse по адресу https://example.org/ko-fi.
kofi_dashboard_in_menu Определяет, нужно ли добавлять пункт меню “Пожертвования” в меню. Если вы хотите настроить этот пункт меню вручную, отключите эту опцию.
kofi_dashboard_topic_id ID темы, содержащей описание на панели управления. При включении плагина в категории “staff” создается тема с сообщением по умолчанию.
kofi_dashboard_widget_enabled Включить виджет пожертвований Ko-fi на панели управления. Для этого должна быть настроена опция kofi_account.
kofi_dashboard_count Если значение больше 0, отображать это количество последних платежей.
kofi_dashboard_types Типы платежей Ko-fi, которые нужно включить в список последних платежей.
kofi_dashboard_anonymous_view Детали платежей, отображаемые на панели управления для незарегистрированных посетителей.
kofi_dashboard_authenticated_view Детали, отображаемые для авторизованных членов, переходящих на панель управления.
kofi_goal_amount Если значение больше 0, включить виджет “цель” на панели управления. Это можно использовать для отображения прогресса к заданной целевой сумме.
kofi_goal_period Период, за который рассчитывается цель.
kofi_goal_since Если вы выбираете период “с”, это будет временная метка, с которой начнется расчет прогресса цели.
kofi_goal_show_amount Если включено, отображать целевую сумму на виджете цели. В противном случае будет показан только процент.
kofi_goal_types Типы платежей Discourse, которые учитываются при расчете цели.
kofi_goal_progress_bar_integration Включает интеграцию с компонентом темы Progress Bar. При расчете прогресса цели обновляются настройки текущего и максимального значений этого компонента.
kofi_leaderboard_count Если значение больше 0, отображать виджет таблицы лидеров на панели управления.
kofi_leaderboard_days Рассчитывать таблицу лидеров на основе платежей за последние дни.
kofi_leaderboard_types Типы платежей Ko-fi, используемые для расчета таблицы лидеров.

Настройка наград

Помимо этих настроек, в настройках плагина Ko-fi есть вкладка Награды, где вы настраиваете разовые и подписные награды.

Для подписных наград вы должны ввести название уровня, которое вы настроили в Ko-fi. Если вы когда-либо измените названия уровней в Ko-fi, вам также нужно обновить их там, так как Ko-fi отправляет только отображаемое имя, а не какой-либо уникальный идентификатор.

При создании или изменении наград вы можете запросить повторную обработку платежей, чтобы эти награды были предоставлены для существующих платежей.

Администрирование

Помимо вкладок настроек, состояния и наград, на странице администрирования плагина Ko-fi также есть следующие вкладки:

  • Платежи — список полученных платежей Ko-fi.
  • Аккаунты — связь между платежами Ko-fi и пользователями.
  • Импорт — импорт CSV-экспорта платежей Ko-fi. Используйте это для импорта уже полученных платежей.
  • Анонимизация — позволяет полностью анонимизировать платежи, сделанные по указанному адресу электронной почты.
4 лайка

Обратите внимание, что Ko-fi поддерживает получение платежей только в одной валюте. Для расчётов этот плагин учитывает только сумму в полученной информации о платеже, а не валюту. Изменение валюты в будущем нарушит различные расчёты. Конвертация валюты не предусмотрена.

Этот плагин поддерживает анонимизацию самостоятельно, а также интегрируется с функцией анонимизации учётных записей в Discourse. Таким образом, при анонимизации пользователя в Discourse будут анонимизированы все данные Ko-fi, которые отслеживает этот плагин, как за прошлое, так и за будущее.

В настоящее время я полагаюсь на самописный PHP-скрипт для решения этой задачи на своём сайте.

Благодаря вашему плагину мне больше не придётся этого делать. Надеюсь, мой вопрос не вызовет недоумения, но, полагаю, вполне уместно спросить о неофициальных плагинах: планируете ли вы поддерживать этот плагин в долгосрочной перспективе? Используете ли вы его сами?

Теоретически, не было бы у вас возражений против pull-запроса для интеграции публичной полосы прогресса (похожей на компонент моей темы)?

Насколько я понимаю, панель управления доступна для зарегистрированных участников, но нет виджета, который можно было бы добавить в другое место?

1 лайк

Я использую этот плагин на своём собственном сайте Discourse (но не все его функции). Я буду поддерживать плагин как для версии ESR (которую я использую), так и для последнего релиза Discourse. Обе эти версии проходят тестирование в рамках настройки проекта. Эти тесты запускаются как минимум раз в неделю, если эти версии меняются.

В настоящее время автоматически тестируется только Ruby-часть плагина (почти каждая её мелкая часть). Мне ещё предстоит разобраться с написанием наборов тестов для JavaScript-части, что я планирую сделать в будущем.

image

Никаких возражений. Я также буду рад любым предложениям по добавлению точек расширения (например, выходов плагина для компонентов темы или событий для плагинов).

Панель управления доступна всем посетителям.

Я намеренно не создавал ничего для добавления виджета Ko-fi в произвольные места. Я считаю, что это можно сделать с помощью компонентов темы, точно так же, как ваш компонент полосы прогресса. Настройка kofi_account доступна для клиента, чего должно быть достаточно для любого вида виджета.

1 лайк