Hello @ianm!
There’s no built-in solution for this. It would require a plugin or a custom script.
If you know a bit of coding, the later would be fairly easy using a solved event webhook.
The steps would be:
-
Create the webhook in
/admin/api/web_hooks/
-
Create a script that will receive the webhook. A PHP example can be found here: Use Discourse webhooks with PHP
You’ll need to ensure that theX-Discourse-Event
header is set toaccepted_solution
. -
The webhook payload contains informations that can be used for the message you want to send:
name
andusername
: the author of the post marked as solution
cooked
: the HTML content of the post marked as solution
topic_id
: the topic’s ID -
You can then return the data of
/t/[topic_id].json
[1].
There are a few ways to get the topic’s author:-
[post_stream][posts][0]
contains the author’s data:[id]
,[name]
,[username]
, etc. -
[details][created_by]
will also contain this information.
-
-
Do a POST request to
/posts.json
with the proper payload to send a PM to the topic’s author.
More info about the post POST request: Discourse API Docs
Video proof of concept:
-
/t/[topic_id].json
endpoint also contain solution-related data in[accepted_answer]
↩︎