102 lines
2.6 KiB
JavaScript
102 lines
2.6 KiB
JavaScript
const
|
|
zulip = require("zulip-js"),
|
|
config = { zuliprc: "zuliprc" },
|
|
|
|
init = () => ( new
|
|
Promise((resolve, reject) => {
|
|
zulip(config)
|
|
.then(client => resolve(client))
|
|
.catch(error => reject(error))
|
|
})
|
|
),
|
|
|
|
sendMsg = (client, params) => ( new
|
|
Promise((resolve, reject) => {
|
|
client.messages.send(params || {
|
|
to: "chatty",
|
|
type: "stream",
|
|
topic: "content",
|
|
content: "I come not, friends, to steal away your hearts.",
|
|
})
|
|
.then(result => resolve(result))
|
|
.catch(error => reject(error))
|
|
})
|
|
),
|
|
|
|
getMsgs = (client, params) => ( new
|
|
Promise((resolve, reject) => {
|
|
client.messages.retrieve(params || {
|
|
anchor: "newest",
|
|
num_before: 100,
|
|
num_after: 0,
|
|
narrow: [
|
|
// { operator: "sender", operand: "karl@hackersanddesigners.nl" },
|
|
{ operator: "stream", operand: "chatty" },
|
|
// { operator: "topic", operand: "rules" },
|
|
],
|
|
})
|
|
.then(result => resolve(result))
|
|
.catch(error => reject(error))
|
|
})
|
|
),
|
|
|
|
regNotif = (client, params) => ( new
|
|
Promise((resolve, reject) => {
|
|
client.queues.register(params || {
|
|
event_types: ["message"],
|
|
})
|
|
.then(result => resolve(result))
|
|
.catch(error => reject(error))
|
|
})
|
|
),
|
|
|
|
getNotif = (client, params) => ( new
|
|
Promise((resolve, reject) => {
|
|
client.events.retrieve(params || {
|
|
queue_id: '1624161658:64',
|
|
last_event_id: -1,
|
|
dont_block: true,
|
|
})
|
|
.then(result => resolve(result))
|
|
.catch(error => reject(error))
|
|
})
|
|
)
|
|
|
|
init().then(client => {
|
|
// sendMsg(client).then(result => console.log(result))
|
|
// getMsgs(client).then(result => {
|
|
// console.log(result)
|
|
// const messagesWithReactions = result
|
|
// .messages
|
|
// .filter(m => (
|
|
// m.reactions.length > 0
|
|
// ))
|
|
// console.log(messagesWithReactions[0].reactions)
|
|
// const messagesWithSubs = result
|
|
// .messages
|
|
// .filter(m => (
|
|
// m.submessages.length > 0
|
|
// ))
|
|
// console.log(messagesWithSubs)
|
|
// result.messages.forEach(m =>
|
|
// console.log(m.submessages)
|
|
// )
|
|
// })
|
|
// regNotif(client).then(result => {
|
|
// console.log(result)
|
|
// })
|
|
getNotif(client).then(result => {
|
|
console.log(result)
|
|
})
|
|
})
|
|
|
|
// (async () => {
|
|
// const user_id = 9;
|
|
// params = {
|
|
// to: [user_id],
|
|
// type: "private",
|
|
// content: "With mirth and laughter let old wrinkles come.",
|
|
// };
|
|
// console.log(await client.messages.send(params));
|
|
// })();
|