chatty-pub/index.js
كارل مبارك 374620645c initial commit
2021-06-26 13:12:56 +02:00

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));
// })();