Spaces:
Paused
Paused
| 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; | |
| } | |
| } |