v2.1.0
fix: ClientUser.notes return empty Collection fix: Recieve messages from large servers #72 feat: checkUpdate return Debug event (not console.log) feat: RelationshipAdd event, param type return RelationshipTypes feat: online status when login feat: fix documents
This commit is contained in:
parent
04251a8b87
commit
c165824419
@ -44,6 +44,7 @@ But if you want to see some specific notes (with pictures) you can go to [here](
|
||||
- [X] Voice Channel (Join, Leave, Speak, etc.)
|
||||
- [X] Documentation
|
||||
- [X] Audio call
|
||||
- [X] Recieve messages from large servers
|
||||
- [ ] Add more guild http api wraps
|
||||
- [ ] Video stream
|
||||
- [ ] Everything
|
||||
|
File diff suppressed because one or more lines are too long
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "discord.js-selfbot-v13",
|
||||
"version": "2.0.43",
|
||||
"version": "2.1.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "discord.js-selfbot-v13",
|
||||
"version": "2.0.4",
|
||||
"version": "2.1.0",
|
||||
"license": "GNU General Public License v3.0",
|
||||
"dependencies": {
|
||||
"@discordjs/builders": "^0.13.0",
|
||||
|
@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "discord.js-selfbot-v13",
|
||||
"version": "2.0.43",
|
||||
"version": "2.1.0",
|
||||
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
|
||||
"main": "./src/index.js",
|
||||
"types": "./typings/index.d.ts",
|
||||
"scripts": {
|
||||
"all": "npm run test && npm run test:typescript && npm run fix:all && npm run build",
|
||||
"test": "npm run lint:all && npm run lint:typings && npm run docs:test",
|
||||
"fix:all": "npm run lint:fix && npm run lint:typings:fix && npm run format",
|
||||
"test:typescript": "tsc --noEmit && tsd",
|
||||
@ -14,7 +15,6 @@
|
||||
"lint:typings:fix": "tslint typings/index.d.ts --fix",
|
||||
"format": "prettier --write src/**/*.js typings/**/*.ts",
|
||||
"lint:all": "npm run lint && npm run lint:typings",
|
||||
"checkup": "node update.mjs",
|
||||
"docs": "docgen --source src --custom docs/index.yml --output docs/main.json",
|
||||
"docs:test": "docgen --source src --custom docs/index.yml",
|
||||
"build": "npm run lint:fix && npm run lint:typings:fix && npm run format && npm run docs"
|
||||
|
@ -1,6 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
const { Events, Status } = require('../../../util/Constants');
|
||||
const { Events, Opcodes, Status } = require('../../../util/Constants');
|
||||
|
||||
// Receive messages in large guilds
|
||||
const run = (client, guild) => {
|
||||
client.ws.broadcast({
|
||||
op: Opcodes.LAZY_REQUEST,
|
||||
d: {
|
||||
guild_id: guild.id,
|
||||
typing: true,
|
||||
threads: false,
|
||||
activities: true,
|
||||
thread_member_lists: [],
|
||||
members: [],
|
||||
channels: {
|
||||
// [guild.channels.cache.first().id]: [[0, 99]],
|
||||
},
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = (client, { d: data }, shard) => {
|
||||
let guild = client.guilds.cache.get(data.id);
|
||||
@ -8,6 +26,7 @@ module.exports = (client, { d: data }, shard) => {
|
||||
if (!guild.available && !data.unavailable) {
|
||||
// A newly available guild
|
||||
guild._patch(data);
|
||||
run(client, guild);
|
||||
}
|
||||
} else {
|
||||
// A new guild
|
||||
@ -20,6 +39,7 @@ module.exports = (client, { d: data }, shard) => {
|
||||
* @param {Guild} guild The created guild
|
||||
*/
|
||||
client.emit(Events.GUILD_CREATE, guild);
|
||||
run(client, guild);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -8,30 +8,31 @@ const Discord = require('../../../index');
|
||||
const { Events, Opcodes } = require('../../../util/Constants');
|
||||
const { Networking } = require('../../../util/Voice');
|
||||
|
||||
async function checkUpdate() {
|
||||
async function checkUpdate(client) {
|
||||
const res_ = await axios.get(`https://registry.npmjs.com/${encodeURIComponent('discord.js-selfbot-v13')}`);
|
||||
const lastest_tag = res_.data['dist-tags'].latest;
|
||||
// Checking if the package is outdated
|
||||
// Stable version
|
||||
if (lastest_tag !== Discord.version && Discord.version.includes('-') == false) {
|
||||
return console.log(`${chalk.yellowBright('[WARNING]')} New Discord.js-selfbot-v13 version.
|
||||
Old Version: ${chalk.redBright(Discord.version)} => New Version: ${chalk.greenBright(lastest_tag)}`);
|
||||
return client.emit(
|
||||
Events.DEBUG,
|
||||
`${chalk.yellowBright('[WARNING]')} New Discord.js-selfbot-v13 version.
|
||||
Old Version: ${chalk.redBright(Discord.version)} => New Version: ${chalk.greenBright(lastest_tag)}`,
|
||||
);
|
||||
}
|
||||
/*
|
||||
Removed:
|
||||
console.log(
|
||||
client.emit(
|
||||
Events.DEBUG,
|
||||
`${chalk.greenBright('[OK]')} Discord.js-selfbot-v13 is up to date. Version: ${chalk.blueBright(Discord.version)}`,
|
||||
);
|
||||
*/
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = (client, { d: data }, shard) => {
|
||||
if (client.options.checkUpdate) {
|
||||
try {
|
||||
checkUpdate();
|
||||
checkUpdate(client);
|
||||
} catch (e) {
|
||||
console.log(`${chalk.redBright('[Fail]')} Check Update error:`, e.message);
|
||||
client.emit(Events.DEBUG, `${chalk.redBright('[Fail]')} Check Update error: ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,9 +83,7 @@ module.exports = (client, { d: data }, shard) => {
|
||||
|
||||
client.user.connectedAccounts = data.connected_accounts ?? [];
|
||||
|
||||
for (const [userid, note] of Object.entries(data.notes ?? {})) {
|
||||
client.user.notes.set(userid, note);
|
||||
}
|
||||
client.user._patchNote(data.notes);
|
||||
|
||||
for (const private_channel of data.private_channels) {
|
||||
client.channels._add(private_channel);
|
||||
@ -118,7 +117,7 @@ module.exports = (client, { d: data }, shard) => {
|
||||
client.guilds._add(guild);
|
||||
}
|
||||
|
||||
// Receive messages in large guilds [Test]
|
||||
// Receive messages in large guilds
|
||||
client.guilds.cache.map(guild => {
|
||||
client.ws.broadcast({
|
||||
op: Opcodes.LAZY_REQUEST,
|
||||
|
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const { Events } = require('../../../util/Constants');
|
||||
const { Events, Relationship } = require('../../../util/Constants');
|
||||
|
||||
module.exports = (client, { d: data }) => {
|
||||
if (data.user) {
|
||||
@ -11,7 +11,7 @@ module.exports = (client, { d: data }) => {
|
||||
* Emitted whenever a relationship is updated.
|
||||
* @event Client#relationshipAdd
|
||||
* @param {UserId} user The userID that was updated
|
||||
* @param {Number} type The new relationship type
|
||||
* @param {RelationshipType} type The new relationship type
|
||||
*/
|
||||
client.emit(Events.RELATIONSHIP_ADD, data.id, data.type);
|
||||
client.emit(Events.RELATIONSHIP_ADD, data.id, Relationship[data.type]);
|
||||
};
|
||||
|
@ -14,17 +14,6 @@ class ClientUser extends User {
|
||||
_patch(data) {
|
||||
super._patch(data);
|
||||
|
||||
/*
|
||||
Add: notes
|
||||
*/
|
||||
/**
|
||||
* The notes cache of the client user.
|
||||
* @type {Collection<Snowflake, Message>}
|
||||
* @private
|
||||
*/
|
||||
this.notes = new Collection();
|
||||
// This.messageMentions = new Collection();
|
||||
|
||||
if ('verified' in data) {
|
||||
/**
|
||||
* Whether or not this account has been verified
|
||||
@ -67,11 +56,23 @@ class ClientUser extends User {
|
||||
/**
|
||||
* Email address of the client user.
|
||||
* @type {?string}
|
||||
* @deprecated
|
||||
* @see https://discord.com/developers/docs/resources/user#user-object
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Patch note
|
||||
* @param {Object} data Note data
|
||||
* @private
|
||||
*/
|
||||
_patchNote(data) {
|
||||
/**
|
||||
* The notes cache of the client user.
|
||||
* @type {Collection<Snowflake, string>}
|
||||
* @private
|
||||
*/
|
||||
this.notes = data ? new Collection(Object.entries(data)) : new Collection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents the client user's presence
|
||||
* @type {ClientPresence}
|
||||
@ -163,10 +164,10 @@ class ClientUser extends User {
|
||||
/**
|
||||
* Set HyperSquad House
|
||||
* @param {HypeSquadOptions<number|string>} type
|
||||
* `LEAVE`: 0
|
||||
* `HOUSE_BRAVERY`: 1
|
||||
* `HOUSE_BRILLIANCE`: 2
|
||||
* `HOUSE_BALANCE`: 3
|
||||
* * `LEAVE`: 0
|
||||
* * `HOUSE_BRAVERY`: 1
|
||||
* * `HOUSE_BRILLIANCE`: 2
|
||||
* * `HOUSE_BALANCE`: 3
|
||||
* @returns {Promise<void>}
|
||||
* @example
|
||||
* // Set HyperSquad HOUSE_BRAVERY
|
||||
|
@ -207,7 +207,8 @@ class User extends Base {
|
||||
|
||||
/**
|
||||
* Get profile from Discord, if client is in a server with the target.
|
||||
* @returns {Promise<User>} the user object
|
||||
* @type {User}
|
||||
* @returns {Promise<User>}
|
||||
*/
|
||||
async getProfile() {
|
||||
if (this.client.bot) throw new Error('INVALID_BOT_METHOD');
|
||||
@ -217,8 +218,9 @@ class User extends Base {
|
||||
}
|
||||
|
||||
/**
|
||||
* Friends the user and send Request [If no request]
|
||||
* @returns {Promise<User>} the user object
|
||||
* Friends the user [If incoming request]
|
||||
* @type {boolean}
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
setFriend() {
|
||||
return this.client.relationships.addFriend(this);
|
||||
@ -226,14 +228,16 @@ class User extends Base {
|
||||
|
||||
/**
|
||||
* Send Friend Request to the user
|
||||
* @returns {Promise<User>} the user object
|
||||
* @type {boolean}
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
sendFriendRequest() {
|
||||
return this.client.relationships.sendFriendRequest(this.username, this.discriminator);
|
||||
}
|
||||
/**
|
||||
* Blocks the user
|
||||
* @returns {Promise<User>} the user object
|
||||
* @type {boolean}
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
setBlock() {
|
||||
return this.client.relationships.addBlocked(this);
|
||||
@ -241,7 +245,8 @@ class User extends Base {
|
||||
|
||||
/**
|
||||
* Removes the user from your blocks list
|
||||
* @returns {Promise<User>} the user object
|
||||
* @type {boolean}
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
unBlock() {
|
||||
return this.client.relationships.deleteBlocked(this);
|
||||
@ -249,7 +254,8 @@ class User extends Base {
|
||||
|
||||
/**
|
||||
* Removes the user from your friends list
|
||||
* @returns {Promise<User>} the user object
|
||||
* @type {boolean}
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
unFriend() {
|
||||
return this.client.relationships.deleteFriend(this);
|
||||
|
@ -76,7 +76,7 @@ const JSONBig = require('json-bigint');
|
||||
* @property {string[]} [userAgentSuffix] An array of additional bot info to be appended to the end of the required
|
||||
* [User Agent](https://discord.com/developers/docs/reference#user-agent) header
|
||||
* @property {PresenceData} [presence={}] Presence data to use upon login
|
||||
* @property {IntentsResolvable} [intents] Intents to enable for this connection
|
||||
* @property {IntentsResolvable} [intents=131071] Intents to enable for this connection (but not using)
|
||||
* @property {number} [waitGuildTimeout=0] Time in milliseconds that Clients with the GUILDS intent should wait for
|
||||
* missing guilds to be received before starting the bot. If not specified, the default is 15 seconds.
|
||||
* @property {SweeperOptions} [sweepers={}] Options for cache sweeping
|
||||
@ -138,7 +138,7 @@ class Options extends null {
|
||||
static createDefault() {
|
||||
return {
|
||||
jsonTransformer: object => JSONBig.stringify(object),
|
||||
checkUpdate: false,
|
||||
checkUpdate: true,
|
||||
readyStatus: true,
|
||||
autoCookie: true,
|
||||
patchVoice: true,
|
||||
@ -148,7 +148,7 @@ class Options extends null {
|
||||
messageCacheLifetime: 0,
|
||||
messageSweepInterval: 0,
|
||||
invalidRequestWarningInterval: 0,
|
||||
intents: 65535,
|
||||
intents: 131071,
|
||||
partials: ['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE', 'REACTION', 'GUILD_SCHEDULED_EVENT'], // Enable the partials
|
||||
restWsBridgeTimeout: 5_000,
|
||||
restRequestTimeout: 15_000,
|
||||
@ -158,7 +158,7 @@ class Options extends null {
|
||||
restSweepInterval: 60,
|
||||
failIfNotExists: false,
|
||||
userAgentSuffix: [],
|
||||
presence: { status: 'invisible', since: 0, activities: [], afk: false },
|
||||
presence: { status: 'online', since: 0, activities: [], afk: false },
|
||||
sweepers: {},
|
||||
ws: {
|
||||
large_threshold: 50,
|
||||
@ -214,7 +214,7 @@ class Options extends null {
|
||||
os_version: '10.0.22000',
|
||||
os_arch: 'x64',
|
||||
system_locale: 'en-US',
|
||||
client_build_number: 122087,
|
||||
client_build_number: 127546,
|
||||
client_event_source: null,
|
||||
}),
|
||||
'ascii',
|
||||
|
Loading…
Reference in New Issue
Block a user