dunbot / source /apis /lib /muteThread.js
Duongkum999's picture
Upload 56 files
91d9d20 verified
var utils = require("../utils");
module.exports = function (http, apis, ctx) {
return function muteThread(threadID, muteSeconds = 0, callback) {
var pCallback;
var returnPromise = new Promise(function (resolve, reject) {
pCallback = error => error ? reject(error) : resolve();
});
if (typeof threadID === "function") {
callback = threadID;
threadID = null;
}
if (typeof muteSeconds === "function") {
callback = muteSeconds;
muteSeconds = 0;
}
if (typeof callback !== "function")
callback = pCallback;
if (utils.getType(threadID) !== "String" || utils.getType(threadID) !== "Number")
callback(new Error("threadID must be an string number"));
else if (utils.getType(muteSeconds) !== "String" || utils.getType(muteSeconds) !== "Number")
callback(new Error("muteSeconds must be an string number"));
else {
var form = {
thread_fbid: threadID,
mute_settings: muteSeconds
}
http
.post("https://www.facebook.com/ajax/mercury/change_mute_thread.php", ctx.jar, form)
.then(utils.parseAndCheckLogin(ctx, http))
.then(function (res) {
if (res.error || res.errors)
throw res;
return callback();
})
.catch(function (error) {
if (error.type === "logout.")
ctx.isLogin = false;
return callback(error);
});
}
return returnPromise;
}
}