feat: control auto-loading of files + fixed method setDisplayName (#2295)

* fixing the setPushname function

* Adding functions that change the media autoloading

* Checking against raw data

* fixed

* fixed merge

* ESLint

* Update src/util/Injected.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

---------

Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com>
Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
This commit is contained in:
tofers 2023-10-22 14:07:55 +03:00 • committed by GitHub
commit 04175063ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 88 additions and 2 deletions

21
index.d.ts vendored
View file

@ -143,6 +143,27 @@ declare namespace WAWebJS {
* @param displayName New display name
*/
setDisplayName(displayName: string): Promise<boolean>
/**
* Changes the autoload Audio
* @param flag true/false on or off
*/
setAutoDownloadAudio(flag: boolean): Promise<void>
/**
* Changes the autoload Documents
* @param flag true/false on or off
*/
setAutoDownloadDocuments(flag: boolean): Promise<void>
/**
* Changes the autoload Photos
* @param flag true/false on or off
*/
setAutoDownloadPhotos(flag: boolean): Promise<void>
/**
* Changes the autoload Videos
* @param flag true/false on or off
*/
setAutoDownloadVideos(flag: boolean): Promise<void>
/** Changes and returns the archive state of the Chat */
unarchiveChat(chatId: string): Promise<boolean>

View file

@ -1047,8 +1047,8 @@ class Client extends EventEmitter {
if(!window.Store.Conn.canSetMyPushname()) return false;
if(window.Store.MDBackend) {
// TODO
return false;
await window.Store.Settings.setPushname(displayName);
return true;
} else {
const res = await window.Store.Wap.setPushname(displayName);
return !res.status || res.status === 200;
@ -1597,6 +1597,67 @@ class Client extends EventEmitter {
return await window.WWebJS.membershipRequestAction(groupId, 'Reject', requesterIds, sleep);
}, groupId, options);
}
/**
* Setting autoload download audio
* @param {boolean} flag true/false
*/
async setAutoDownloadAudio(flag) {
await this.pupPage.evaluate(async flag => {
const autoDownload = window.Store.Settings.getAutoDownloadAudio();
if (autoDownload === flag) {
return flag;
}
await window.Store.Settings.setAutoDownloadAudio(flag);
return flag;
}, flag);
}
/**
* Setting autoload download documents
* @param {boolean} flag true/false
*/
async setAutoDownloadDocuments(flag) {
await this.pupPage.evaluate(async flag => {
const autoDownload = window.Store.Settings.getAutoDownloadDocuments();
if (autoDownload === flag) {
return flag;
}
await window.Store.Settings.setAutoDownloadDocuments(flag);
return flag;
}, flag);
}
/**
* Setting autoload download photos
* @param {boolean} flag true/false
*/
async setAutoDownloadPhotos(flag) {
await this.pupPage.evaluate(async flag => {
const autoDownload = window.Store.Settings.getAutoDownloadPhotos();
if (autoDownload === flag) {
return flag;
}
await window.Store.Settings.setAutoDownloadPhotos(flag);
return flag;
}, flag);
}
/**
* Setting autoload download videos
* @param {boolean} flag true/false
*/
async setAutoDownloadVideos(flag) {
await this.pupPage.evaluate(async flag => {
const autoDownload = window.Store.Settings.getAutoDownloadVideos();
if (autoDownload === flag) {
return flag;
}
await window.Store.Settings.setAutoDownloadVideos(flag);
return flag;
}, flag);
}
}
module.exports = Client;

View file

@ -58,6 +58,10 @@ exports.ExposeStore = (moduleRaidStr) => {
window.Store.LidUtils = window.mR.findModule('getCurrentLid')[0];
window.Store.WidToJid = window.mR.findModule('widToUserJid')[0];
window.Store.JidToWid = window.mR.findModule('userJidToUserWid')[0];
window.Store.Settings = {
...window.mR.findModule('ChatlistPanelState')[0],
setPushname: window.mR.findModule((m) => m.setPushname && !m.ChatlistPanelState)[0].setPushname
};
/* eslint-disable no-undef, no-cond-assign */
window.Store.QueryExist = ((m = window.mR.findModule('queryExists')[0]) ? m.queryExists : window.mR.findModule('queryExist')[0].queryWidExists);