Discourse-js
Installation
$ npm i discourse-js
Quick Start
import Discourse from "discourse-js";
const apiKey = "<api-key-from-discourse>";
const baseUrl = "<your-discourse-url>" || "http://localhost:3000";
const discourse = new Discourse(apiKey, baseUrl);
discourse.posts
.create({
api_username: "karluser",
topic_id: 11,
raw: "Hello World"
})
.then(res => console.log(res))
.catch(err => console.log(err));
API
Topics
Get a Topic
discourse.topics
.getTopic({ id })
.then(res => console.log(response)}
.catch(err => console.log(err))
Posts
Create a Post
discourse.posts
.create({
topic_id: 11,
raw: "Hello World"
})
.then(res => console.log(res))
.catch(err => console.log(err));
Like a Post
discourse.posts
.like({ id: 72 })
.then(res => console.log(res))
.catch(err => console.log(err));
Unlike a Post
discourse.posts
.unlike({ id: 72 })
.then(res => console.log(res))
.catch(err => console.log(err));
Note: You can only unlike
a post within 5 - 10 minutes after you have liked
it. Think of unlike
more so like an undo.
See this post here and here for information around the undocumented time limit on unliking a liked post.
License
MIT