Привет @ianm!
Готового решения для этого нет. Потребуется плагин или пользовательский скрипт.
Если вы немного разбираетесь в программировании, второй вариант будет довольно прост с использованием webhook’а для события решения.
Шаги следующие:
-
Создайте webhook в
/admin/api/web_hooks/. -
Создайте скрипт, который будет получать webhook. Пример на PHP можно найти здесь: Use Discourse webhooks with PHP
Вам нужно убедиться, что заголовокX-Discourse-Eventустановлен вaccepted_solution. -
Полезная нагрузка webhook содержит информацию, которую можно использовать для сообщения, которое вы хотите отправить:
nameиusername: автор поста, отмеченного как решение
cooked: HTML-содержимое поста, отмеченного как решение
topic_id: ID темы
-
Затем вы можете получить данные из
/t/[topic_id].json[1].
Есть несколько способов получить автора темы:-
[post_stream][posts][0]содержит данные автора:[id],[name],[username]и т. д. -
[details][created_by]также содержит эту информацию.
-
-
Отправьте POST-запрос к
/posts.jsonс правильным полезным грузом для отправки ЛС автору темы.
Более подробная информация о POST-запросе к постам: Discourse API Docs
Видео-демонстрация концепции:
Эндпоинт
/t/[topic_id].jsonтакже содержит данные, связанные с решением, в поле[accepted_answer]↩︎