From da020439576577c69b9abd3837639769774e10d2 Mon Sep 17 00:00:00 2001 From: March 7th <71698422+aiko-chan-ai@users.noreply.github.com> Date: Tue, 3 May 2022 14:15:02 +0700 Subject: [PATCH] update setting --- package.json | 2 +- src/managers/ClientUserSettingManager.js | 39 ++++++++++++++++++++++++ typings/index.d.ts | 3 ++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c3d176f..05260eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discord.js-selfbot-v13", - "version": "1.4.1", + "version": "1.4.2", "description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]", "main": "./src/index.js", "types": "./typings/index.d.ts", diff --git a/src/managers/ClientUserSettingManager.js b/src/managers/ClientUserSettingManager.js index 909678d..e5e2668 100644 --- a/src/managers/ClientUserSettingManager.js +++ b/src/managers/ClientUserSettingManager.js @@ -373,6 +373,45 @@ class ClientUserSettingManager { } this.edit({ guild_folders: this.rawSetting.guild_folders }); } + + /** + * Restricted guilds setting + * @param {boolean} status Restricted status + * @returns {Promise} + */ + restrictedGuilds(status) { + if (typeof status !== 'boolean') { + throw new TypeError('INVALID_TYPE', 'status', 'boolean', true); + } + return this.edit({ + default_guilds_restricted: status, + restricted_guilds: status ? this.client.guilds.map(v => v.id) : [], + }); + } + /** + * Add a guild to the list of restricted guilds. + * @param {GuildIDResolve} guildId The guild to add + * @returns {Promise} + */ + addRestrictedGuild(guildId) { + const temp = Object.assign( + [], + this.disableDMfromServer.map((v, k) => k), + ); + if (temp.includes(guildId)) throw new Error('Guild is already restricted'); + temp.push(guildId); + return this.edit({ restricted_guilds: temp }); + } + + /** + * Remove a guild from the list of restricted guilds. + * @param {GuildIDResolve} guildId The guild to remove + * @returns {Promise} + */ + removeRestrictedGuild(guildId) { + if (!this.disableDMfromServer.delete(guildId)) throw new Error('Guild is already restricted'); + return this.edit({ restricted_guilds: this.disableDMfromServer.map((v, k) => k) }); + } } module.exports = ClientUserSettingManager; diff --git a/typings/index.d.ts b/typings/index.d.ts index ecb441a..381177e 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -3126,6 +3126,9 @@ export class ClientUserSettingManager { public setTheme(value?: 'dark' | 'light'): Promise; public setLocale(value: localeSetting): Promise; public setCustomStatus(value?: CustomStatusOption): Promise; + public restrictedGuilds(status: boolean): Promise; + public addRestrictedGuild(guildId: GuildIdResolvable): Promise; + public removeRestrictedGuild(guildId: GuildIdResolvable): Promise; } export class GuildApplicationCommandManager extends ApplicationCommandManager {