feat: update (see description)
- Remove `bignumber.js` - Fix `circular dependency` - Fix: missing activity.name (SpotifyRPC) - Refactor code - Update UserAgent
This commit is contained in:
parent
e0b6265aa5
commit
8b4924e147
@ -60,7 +60,6 @@
|
|||||||
"@types/node-fetch": "^2.6.2",
|
"@types/node-fetch": "^2.6.2",
|
||||||
"@types/ws": "^8.5.3",
|
"@types/ws": "^8.5.3",
|
||||||
"axios": "1.1",
|
"axios": "1.1",
|
||||||
"bignumber.js": "^9.1.0",
|
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"discord-api-types": "^0.37.19",
|
"discord-api-types": "^0.37.19",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
|
@ -1026,6 +1026,9 @@ class Client extends BaseClient {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'nopecha': {
|
case 'nopecha': {
|
||||||
|
if (options.captchaKey.length !== 16) {
|
||||||
|
throw new TypeError('CLIENT_INVALID_OPTION', 'captchaKey', 'a 16 character string');
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -144,8 +144,8 @@ class WebSocketManager extends EventEmitter {
|
|||||||
});
|
});
|
||||||
const recommendedShards = 1;
|
const recommendedShards = 1;
|
||||||
const sessionStartLimit = {
|
const sessionStartLimit = {
|
||||||
total: 1000000000,
|
total: Infinity,
|
||||||
remaining: 1000000000,
|
remaining: Infinity,
|
||||||
};
|
};
|
||||||
|
|
||||||
const { total, remaining } = sessionStartLimit;
|
const { total, remaining } = sessionStartLimit;
|
||||||
|
@ -710,7 +710,7 @@ class WebSocketShard extends EventEmitter {
|
|||||||
this.debug(
|
this.debug(
|
||||||
`[IDENTIFY] Shard ${this.id}/${client.options.shardCount} with intents: ${Intents.resolve(
|
`[IDENTIFY] Shard ${this.id}/${client.options.shardCount} with intents: ${Intents.resolve(
|
||||||
client.options.intents,
|
client.options.intents,
|
||||||
)} :)`,
|
)} 😊`,
|
||||||
);
|
);
|
||||||
this.send({ op: Opcodes.IDENTIFY, d }, true);
|
this.send({ op: Opcodes.IDENTIFY, d }, true);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { Collection } = require('@discordjs/collection');
|
const { Collection } = require('@discordjs/collection');
|
||||||
const BigNumber = require('bignumber.js');
|
|
||||||
const CachedManager = require('./CachedManager');
|
const CachedManager = require('./CachedManager');
|
||||||
const { TypeError, Error } = require('../errors');
|
const { TypeError, Error } = require('../errors');
|
||||||
const { Message } = require('../structures/Message');
|
const { Message } = require('../structures/Message');
|
||||||
@ -246,8 +245,8 @@ class MessageManager extends CachedManager {
|
|||||||
await this.client.api.guilds[this.channel.guild.id].messages.search.get({
|
await this.client.api.guilds[this.channel.guild.id].messages.search.get({
|
||||||
query: {
|
query: {
|
||||||
channel_id: this.channel.id,
|
channel_id: this.channel.id,
|
||||||
max_id: new BigNumber.BigNumber(messageId).plus(1).toString(),
|
max_id: `${BigInt(messageId) + 1n}`,
|
||||||
min_id: new BigNumber.BigNumber(messageId).minus(1).toString(),
|
min_id: `${BigInt(messageId) - 1n}`,
|
||||||
include_nsfw: true,
|
include_nsfw: true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -258,8 +257,8 @@ class MessageManager extends CachedManager {
|
|||||||
const data = (
|
const data = (
|
||||||
await this.client.api.channels[this.channel.id].messages.search.get({
|
await this.client.api.channels[this.channel.id].messages.search.get({
|
||||||
query: {
|
query: {
|
||||||
max_id: new BigNumber.BigNumber(messageId).plus(1).toString(),
|
max_id: `${BigInt(messageId) + 1n}`,
|
||||||
min_id: new BigNumber.BigNumber(messageId).minus(1).toString(),
|
min_id: `${BigInt(messageId) - 1n}`,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
).messages[0];
|
).messages[0];
|
||||||
|
@ -4,7 +4,6 @@ const Buffer = require('node:buffer').Buffer;
|
|||||||
const https = require('node:https');
|
const https = require('node:https');
|
||||||
const { setTimeout } = require('node:timers');
|
const { setTimeout } = require('node:timers');
|
||||||
const FormData = require('form-data');
|
const FormData = require('form-data');
|
||||||
const JSONBig = require('json-bigint');
|
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
const proxy = require('proxy-agent');
|
const proxy = require('proxy-agent');
|
||||||
|
|
||||||
@ -61,9 +60,10 @@ class APIRequest {
|
|||||||
'Sec-Fetch-Mode': 'cors',
|
'Sec-Fetch-Mode': 'cors',
|
||||||
'Sec-Fetch-Site': 'same-origin',
|
'Sec-Fetch-Site': 'same-origin',
|
||||||
'X-Debug-Options': 'bugReporterEnabled',
|
'X-Debug-Options': 'bugReporterEnabled',
|
||||||
'X-Super-Properties': `${Buffer.from(JSONBig.stringify(this.client.options.ws.properties), 'ascii').toString(
|
'X-Super-Properties': `${Buffer.from(
|
||||||
'base64',
|
this.client.options.jsonTransformer(this.client.options.ws.properties),
|
||||||
)}`,
|
'ascii',
|
||||||
|
).toString('base64')}`,
|
||||||
'X-Discord-Locale': 'en-US',
|
'X-Discord-Locale': 'en-US',
|
||||||
'User-Agent': this.client.options.http.headers['User-Agent'],
|
'User-Agent': this.client.options.http.headers['User-Agent'],
|
||||||
};
|
};
|
||||||
|
@ -31,7 +31,7 @@ module.exports = class CaptchaSolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case 'nopecha': {
|
case 'nopecha': {
|
||||||
if (!key || typeof key !== 'string') throw new Error('Nopecha key is not provided');
|
if (!key || typeof key !== 'string') throw new Error('NopeCHA key is not provided');
|
||||||
try {
|
try {
|
||||||
const { Configuration, NopeCHAApi } = require('nopecha');
|
const { Configuration, NopeCHAApi } = require('nopecha');
|
||||||
const configuration = new Configuration({
|
const configuration = new Configuration({
|
||||||
|
@ -257,10 +257,6 @@ class DMChannel extends Channel {
|
|||||||
this.client.voice.adapters.set(this.id, methods);
|
this.client.voice.adapters.set(this.id, methods);
|
||||||
return {
|
return {
|
||||||
sendPayload: data => {
|
sendPayload: data => {
|
||||||
data.d = {
|
|
||||||
...data.d,
|
|
||||||
self_video: false,
|
|
||||||
};
|
|
||||||
if (this.shard.status !== Status.READY) return false;
|
if (this.shard.status !== Status.READY) return false;
|
||||||
this.shard.send(data);
|
this.shard.send(data);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1471,9 +1471,9 @@ class Guild extends AnonymousGuild {
|
|||||||
/**
|
/**
|
||||||
* Add Integrations to the guild.
|
* Add Integrations to the guild.
|
||||||
* @param {Snowflake} applicationId Application (ID) target
|
* @param {Snowflake} applicationId Application (ID) target
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<boolean>}
|
||||||
*/
|
*/
|
||||||
async addIntegration(applicationId) {
|
addIntegration(applicationId) {
|
||||||
if (!this.me.permissions.has('MANAGE_WEBHOOKS')) {
|
if (!this.me.permissions.has('MANAGE_WEBHOOKS')) {
|
||||||
throw new Error('MISSING_PERMISSIONS', 'MANAGE_WEBHOOKS');
|
throw new Error('MISSING_PERMISSIONS', 'MANAGE_WEBHOOKS');
|
||||||
}
|
}
|
||||||
@ -1481,18 +1481,14 @@ class Guild extends AnonymousGuild {
|
|||||||
throw new Error('MISSING_PERMISSIONS', 'MANAGE_GUILD');
|
throw new Error('MISSING_PERMISSIONS', 'MANAGE_GUILD');
|
||||||
}
|
}
|
||||||
if (!applicationId || typeof applicationId !== 'string') throw new TypeError('INVALID_APPLICATION_ID');
|
if (!applicationId || typeof applicationId !== 'string') throw new TypeError('INVALID_APPLICATION_ID');
|
||||||
// Check permission
|
return this.client.authorizeURL(
|
||||||
await this.client.api.oauth2.authorize.post({
|
`https://discord.com/api/oauth2/authorize?client_id=${applicationId}&scope=applications.commands`,
|
||||||
query: {
|
{
|
||||||
client_id: applicationId,
|
|
||||||
scope: 'applications.commands',
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
guild_id: this.id,
|
guild_id: this.id,
|
||||||
permissions: '0',
|
permissions: `0`,
|
||||||
authorize: true,
|
authorize: true,
|
||||||
},
|
},
|
||||||
});
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1501,7 +1497,7 @@ class Guild extends AnonymousGuild {
|
|||||||
* @param {?PermissionResolvable} permissions Permissions
|
* @param {?PermissionResolvable} permissions Permissions
|
||||||
* @returns {Promise<boolean>}
|
* @returns {Promise<boolean>}
|
||||||
*/
|
*/
|
||||||
addBot(bot, permissions) {
|
addBot(bot, permissions = 0n) {
|
||||||
if (!this.me.permissions.has('MANAGE_WEBHOOKS')) {
|
if (!this.me.permissions.has('MANAGE_WEBHOOKS')) {
|
||||||
throw new Error('MISSING_PERMISSIONS', 'MANAGE_WEBHOOKS');
|
throw new Error('MISSING_PERMISSIONS', 'MANAGE_WEBHOOKS');
|
||||||
}
|
}
|
||||||
@ -1514,8 +1510,8 @@ class Guild extends AnonymousGuild {
|
|||||||
if (!botId) throw new TypeError('INVALID_BOT_ID');
|
if (!botId) throw new TypeError('INVALID_BOT_ID');
|
||||||
// Check permission
|
// Check permission
|
||||||
const selfPerm = this.me.permissions.toArray();
|
const selfPerm = this.me.permissions.toArray();
|
||||||
const missingPerms = permission.toArray().filter(x => selfPerm.indexOf(x) === -1);
|
const missingPerms = permission.toArray().filter(x => selfPerm.includes(x));
|
||||||
if (missingPerms[0]) {
|
if (missingPerms.length) {
|
||||||
throw new Error('MISSING_PERMISSIONS', missingPerms.join(', '));
|
throw new Error('MISSING_PERMISSIONS', missingPerms.join(', '));
|
||||||
}
|
}
|
||||||
// Add bot
|
// Add bot
|
||||||
|
@ -321,7 +321,7 @@ class Invite extends Base {
|
|||||||
/**
|
/**
|
||||||
* Join this Guild using this invite.
|
* Join this Guild using this invite.
|
||||||
* @param {boolean} autoVerify Whether to automatically verify member
|
* @param {boolean} autoVerify Whether to automatically verify member
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<Guild>}
|
||||||
* @example
|
* @example
|
||||||
* await client.fetchInvite('code').then(async invite => {
|
* await client.fetchInvite('code').then(async invite => {
|
||||||
* await invite.acceptInvite();
|
* await invite.acceptInvite();
|
||||||
@ -329,6 +329,7 @@ class Invite extends Base {
|
|||||||
*/
|
*/
|
||||||
async acceptInvite(autoVerify = true) {
|
async acceptInvite(autoVerify = true) {
|
||||||
if (!this.guild) throw new Error('INVITE_NO_GUILD');
|
if (!this.guild) throw new Error('INVITE_NO_GUILD');
|
||||||
|
if (this.client.guilds.cache.get(this.guild.id)) return this.guild;
|
||||||
const dataHeader = {
|
const dataHeader = {
|
||||||
location: 'Join Guild',
|
location: 'Join Guild',
|
||||||
location_guild_id: this.guild?.id,
|
location_guild_id: this.guild?.id,
|
||||||
@ -341,18 +342,19 @@ class Invite extends Base {
|
|||||||
'X-Context-Properties': Buffer.from(JSON.stringify(dataHeader), 'utf8').toString('base64'),
|
'X-Context-Properties': Buffer.from(JSON.stringify(dataHeader), 'utf8').toString('base64'),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const guild = this.client.guilds.cache.get(this.guild.id);
|
||||||
if (autoVerify) {
|
if (autoVerify) {
|
||||||
const getForm = await this.client.api
|
const getForm = await this.client.api
|
||||||
.guilds(this.guild.id)
|
.guilds(this.guild.id)
|
||||||
['member-verification'].get({ query: { with_guild: false, invite_code: this.code } })
|
['member-verification'].get({ query: { with_guild: false, invite_code: this.code } })
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
if (!getForm) return undefined;
|
if (!getForm) return guild;
|
||||||
const form = Object.assign(getForm.form_fields[0], { response: true });
|
const form = Object.assign(getForm.form_fields[0], { response: true });
|
||||||
// Respond to the form
|
// Respond to the form
|
||||||
// https://discord.com/api/v9/guilds/:id/requests/@me
|
// https://discord.com/api/v9/guilds/:id/requests/@me
|
||||||
await this.client.api.guilds(this.guild.id).requests['@me'].put({ data: { form_fields: [form] } });
|
await this.client.api.guilds(this.guild.id).requests['@me'].put({ data: { form_fields: [form] } });
|
||||||
}
|
}
|
||||||
return undefined;
|
return guild;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
|
|
||||||
const { setTimeout } = require('node:timers');
|
const { setTimeout } = require('node:timers');
|
||||||
const BaseMessageComponent = require('./BaseMessageComponent');
|
const BaseMessageComponent = require('./BaseMessageComponent');
|
||||||
const { Message } = require('./Message');
|
|
||||||
const { MessageComponentTypes, InteractionTypes, ChannelTypes } = require('../util/Constants');
|
const { MessageComponentTypes, InteractionTypes, ChannelTypes } = require('../util/Constants');
|
||||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||||
const Util = require('../util/Util');
|
const Util = require('../util/Util');
|
||||||
|
const { lazy } = require('../util/Util');
|
||||||
|
const Message = lazy(() => require('./Message').Message);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a select menu message component
|
* Represents a select menu message component
|
||||||
@ -284,7 +285,7 @@ class MessageSelectMenu extends BaseMessageComponent {
|
|||||||
* @returns {Promise<InteractionResponse>}
|
* @returns {Promise<InteractionResponse>}
|
||||||
*/
|
*/
|
||||||
async select(message, values = []) {
|
async select(message, values = []) {
|
||||||
if (!(message instanceof Message)) throw new Error('[UNKNOWN_MESSAGE] Please pass a valid Message');
|
if (!(message instanceof Message())) throw new Error('[UNKNOWN_MESSAGE] Please pass a valid Message');
|
||||||
if (!Array.isArray(values)) throw new TypeError('[INVALID_VALUES] Please pass an array of values');
|
if (!Array.isArray(values)) throw new TypeError('[INVALID_VALUES] Please pass an array of values');
|
||||||
if (!this.customId || this.disabled) return false; // Disabled or null customID
|
if (!this.customId || this.disabled) return false; // Disabled or null customID
|
||||||
// Check value is invalid [Max options is 20] => For loop
|
// Check value is invalid [Max options is 20] => For loop
|
||||||
|
@ -407,10 +407,6 @@ class PartialGroupDMChannel extends Channel {
|
|||||||
this.client.voice.adapters.set(this.id, methods);
|
this.client.voice.adapters.set(this.id, methods);
|
||||||
return {
|
return {
|
||||||
sendPayload: data => {
|
sendPayload: data => {
|
||||||
data.d = {
|
|
||||||
...data.d,
|
|
||||||
self_video: false,
|
|
||||||
};
|
|
||||||
if (this.shard.status !== Status.READY) return false;
|
if (this.shard.status !== Status.READY) return false;
|
||||||
this.shard.send(data);
|
this.shard.send(data);
|
||||||
return true;
|
return true;
|
||||||
|
@ -294,7 +294,7 @@ https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Documents/RichP
|
|||||||
* @returns {RichPresence}
|
* @returns {RichPresence}
|
||||||
*/
|
*/
|
||||||
setType(type) {
|
setType(type) {
|
||||||
this.type = ActivityTypes[type?.toUpperCase()];
|
this.type = ActivityTypes[type];
|
||||||
if (typeof this.type == 'string') this.type = ActivityTypes[this.type];
|
if (typeof this.type == 'string') this.type = ActivityTypes[this.type];
|
||||||
if (typeof this.type != 'number') throw new Error('Type must be a valid ActivityType');
|
if (typeof this.type != 'number') throw new Error('Type must be a valid ActivityType');
|
||||||
return this;
|
return this;
|
||||||
@ -471,11 +471,9 @@ https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Documents/RichP
|
|||||||
delete obj.name;
|
delete obj.name;
|
||||||
delete obj.url;
|
delete obj.url;
|
||||||
obj.type = 0;
|
obj.type = 0;
|
||||||
let buttonData = [];
|
if (obj.buttons?.length) {
|
||||||
if (obj.buttons) {
|
obj.buttons = obj.buttons.map((b, i) => ({ label: b, url: obj.metadata.button_urls[i] }));
|
||||||
buttonData = obj.buttons.map((b, i) => ({ label: b, url: obj.metadata.button_urls[i] }));
|
|
||||||
delete obj.metadata;
|
delete obj.metadata;
|
||||||
obj.buttons = buttonData;
|
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
@ -566,6 +564,10 @@ class SpotifyRPC extends RichPresence {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
setup(options) {
|
setup(options) {
|
||||||
|
this.name = options.name || 'Spotify';
|
||||||
|
|
||||||
|
this.type = ActivityTypes.LISTENING;
|
||||||
|
|
||||||
this.party = {
|
this.party = {
|
||||||
id: `spotify:${this.client.user.id}`,
|
id: `spotify:${this.client.user.id}`,
|
||||||
};
|
};
|
||||||
@ -638,8 +640,8 @@ class SpotifyRPC extends RichPresence {
|
|||||||
toJSON() {
|
toJSON() {
|
||||||
if (!this.sync_id) throw new Error('Song id is required');
|
if (!this.sync_id) throw new Error('Song id is required');
|
||||||
const obj = {
|
const obj = {
|
||||||
name: 'Spotify',
|
name: this.name,
|
||||||
type: ActivityTypes.LISTENING,
|
type: this.type,
|
||||||
application_id: this.application_id,
|
application_id: this.application_id,
|
||||||
url: this.url,
|
url: this.url,
|
||||||
state: this.state,
|
state: this.state,
|
||||||
|
@ -6,11 +6,11 @@ const Package = (exports.Package = require('../../package.json'));
|
|||||||
const { Error, RangeError, TypeError } = require('../errors');
|
const { Error, RangeError, TypeError } = require('../errors');
|
||||||
// #88: https://jnrbsn.github.io/user-agents/user-agents.json
|
// #88: https://jnrbsn.github.io/user-agents/user-agents.json
|
||||||
const listUserAgent = [
|
const listUserAgent = [
|
||||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
|
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
|
'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
|
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0',
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0',
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13.0; rv:107.0) Gecko/20100101 Firefox/107.0',
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13.0; rv:107.0) Gecko/20100101 Firefox/107.0',
|
||||||
'Mozilla/5.0 (X11; Linux i686; rv:107.0) Gecko/20100101 Firefox/107.0',
|
'Mozilla/5.0 (X11; Linux i686; rv:107.0) Gecko/20100101 Firefox/107.0',
|
||||||
@ -26,8 +26,8 @@ const listUserAgent = [
|
|||||||
'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0',
|
'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0',
|
||||||
'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0',
|
'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0',
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15',
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15',
|
||||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52',
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/107.0.1418.68',
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52',
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/107.0.1418.68',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -188,7 +188,7 @@ class Options extends null {
|
|||||||
browser: 'Chrome',
|
browser: 'Chrome',
|
||||||
device: '',
|
device: '',
|
||||||
system_locale: 'en-US',
|
system_locale: 'en-US',
|
||||||
browser_version: '107.0.0.0',
|
browser_version: '108.0.0.0',
|
||||||
os_version: '10',
|
os_version: '10',
|
||||||
referrer: '',
|
referrer: '',
|
||||||
referring_domain: '',
|
referring_domain: '',
|
||||||
|
4
typings/index.d.ts
vendored
4
typings/index.d.ts
vendored
@ -1412,7 +1412,7 @@ export class GuildAuditLogsEntry<
|
|||||||
: Role | GuildEmoji | { id: Snowflake } | null;
|
: Role | GuildEmoji | { id: Snowflake } | null;
|
||||||
public targetType: TTargetType;
|
public targetType: TTargetType;
|
||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
public addIntegration(applicationId: Snowflake): Promise<void>;
|
public addIntegration(applicationId: Snowflake): Promise<boolean>;
|
||||||
public addBot(bot: UserResolvable | Snowflake, permissions?: PermissionResolvable): Promise<boolean>;
|
public addBot(bot: UserResolvable | Snowflake, permissions?: PermissionResolvable): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1813,7 +1813,7 @@ export class Invite extends Base {
|
|||||||
public delete(reason?: string): Promise<Invite>;
|
public delete(reason?: string): Promise<Invite>;
|
||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
public toString(): string;
|
public toString(): string;
|
||||||
public acceptInvite(autoVerify?: boolean): Promise<void>;
|
public acceptInvite(autoVerify?: boolean): Promise<Guild>;
|
||||||
public static INVITES_PATTERN: RegExp;
|
public static INVITES_PATTERN: RegExp;
|
||||||
public stageInstance: InviteStageInstance | null;
|
public stageInstance: InviteStageInstance | null;
|
||||||
public guildScheduledEvent: GuildScheduledEvent | null;
|
public guildScheduledEvent: GuildScheduledEvent | null;
|
||||||
|
Loading…
Reference in New Issue
Block a user