AtlatestRepositorysigil-discourse
sigil-discourse / tree / src / discoursemessages.sgl
1
;;; (discourse messages) - Private message management.2
;;;3
;;; Functions for sending and listing private messages on Discourse.5
(define-library (discourse messages)6
(import (sigil core)7
(sigil string)8
(discourse client))10
(export discourse-send-message11
discourse-list-messages12
discourse-list-sent-messages)14
(begin16
;;; Send a private message.17
;;;18
;;; recipients is a comma-separated string of usernames.19
(define (discourse-send-message base-url api-key username title raw recipients)20
(discourse-post/json api-key username21
(discourse-url base-url "posts.json")22
#{ title: title23
raw: raw24
target_recipients: recipients25
archetype: "private_message" }))27
;;; List private messages received by a user.28
(define (discourse-list-messages base-url api-key username target-user)29
(discourse-get/json api-key username30
(discourse-url base-url "topics" "private-messages" (string-append target-user ".json"))))32
;;; List private messages sent by a user.33
(define (discourse-list-sent-messages base-url api-key username target-user)34
(discourse-get/json api-key username35
(discourse-url base-url "topics" "private-messages-sent" (string-append target-user ".json"))))37
))