From b0e9e7dd71c78a4910d38b2638f993c6b82342a5 Mon Sep 17 00:00:00 2001 From: March 7th <71698422+aiko-chan-ai@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:37:41 +0700 Subject: [PATCH] RPC patch --- package.json | 3 +- src/client/websocket/handlers/READY.js | 107 +++++++++++++------------ src/index.js | 3 +- typings/index.d.ts | 1 - 4 files changed, 59 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 8badd3e..5e0ef5a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discord.js-selfbot-v13", - "version": "0.2.0", + "version": "0.2.1", "description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]", "main": "./src/index.js", "types": "./typings/index.d.ts", @@ -47,6 +47,7 @@ "axios": "^0.26.1", "chalk": "^4.1.2", "discord-api-types": "^0.27.3", + "discord-rpc-contructor": "^1.0.2", "discord.js": "^13.6.0", "form-data": "^4.0.0", "json-bigint": "^1.0.0", diff --git a/src/client/websocket/handlers/READY.js b/src/client/websocket/handlers/READY.js index ebc38c3..ccee18c 100644 --- a/src/client/websocket/handlers/READY.js +++ b/src/client/websocket/handlers/READY.js @@ -9,44 +9,47 @@ const Discord = require('../../../index'); const checkUpdate = async () => { const res_ = await axios.get( - `https://registry.npmjs.com/${encodeURIComponent('discord.js-selfbot-v13')}`, + `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) { - 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 console.log( - `${chalk.greenBright( - '[OK]', - )} Discord.js-selfbot-v13 is up to date. Version: ${chalk.blueBright( - Discord.version, - )}`, - ); + if (lastest_tag !== Discord.version) { + 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 console.log( + `${chalk.greenBright( + '[OK]', + )} Discord.js-selfbot-v13 is up to date. Version: ${chalk.blueBright( + Discord.version, + )}`, + ); }; module.exports = (client, { d: data }, shard) => { - // console.log(data); - if (client.options.checkUpdate) checkUpdate(); - client.session_id = data.session_id; - if (client.user) { - client.user._patch(data.user); - } else { - ClientUser ??= require('../../../structures/ClientUser'); - client.user = new ClientUser(client, data.user); - client.users.cache.set(client.user.id, client.user); - } + // console.log(data); + if (client.options.checkUpdate) checkUpdate(); + client.session_id = data.session_id; + if (client.user) { + client.user._patch(data.user); + } else { + ClientUser ??= require('../../../structures/ClientUser'); + client.user = new ClientUser(client, data.user); + client.users.cache.set(client.user.id, client.user); + } - client.user.setAFK(true); + client.user.setAFK(true); - client.setting.fetch() - .then(async res => { - let custom_status; - if ( + client.setting.fetch().then(async (res) => { + let custom_status; + if ( res.rawSetting.custom_status?.text || res.rawSetting.custom_status?.emoji_name ) { @@ -59,32 +62,32 @@ module.exports = (client, { d: data }, shard) => { } else { custom_status.setUnicodeEmoji(res.rawSetting.custom_status.emoji_name); } - custom_status.setState(res.rawSetting.custom_status?.text); + custom_status.setState(res.rawSetting.custom_status?.text); + client.user.setPresence({ + activities: custom_status ? [custom_status.toDiscord()] : [], + status: res.rawSetting.status, + }); } - client.user.setPresence({ - activities: custom_status ? [custom_status.toDiscord()] : [], - status: res.rawSetting.status, - }); - }) + }); - for (const guild of data.guilds) { - guild.shardId = shard.id; - client.guilds._add(guild); - } + for (const guild of data.guilds) { + guild.shardId = shard.id; + client.guilds._add(guild); + } - for (const r of data.relationships) { - if(r.type == 1) { - client.friends.cache.set(r.id, new User(client, r.user)); - } else if(r.type == 2) { - client.blocked.cache.set(r.id, new User(client, r.user)); - } - } + for (const r of data.relationships) { + if (r.type == 1) { + client.friends.cache.set(r.id, new User(client, r.user)); + } else if (r.type == 2) { + client.blocked.cache.set(r.id, new User(client, r.user)); + } + } - if (client.application) { - client.application._patch(data.application); - } else { - client.application = new ClientApplication(client, data.application); - } + if (client.application) { + client.application._patch(data.application); + } else { + client.application = new ClientApplication(client, data.application); + } - shard.checkReady(); + shard.checkReady(); }; diff --git a/src/index.js b/src/index.js index 7951887..94e3358 100644 --- a/src/index.js +++ b/src/index.js @@ -9,7 +9,6 @@ exports.ShardingManager = require('./sharding/ShardingManager'); exports.WebhookClient = require('./client/WebhookClient'); // Utilities -exports.RichPresence = require('./RPC/index'); exports.ActivityFlagsBitField = require('./util/ActivityFlagsBitField'); exports.ApplicationFlagsBitField = require('./util/ApplicationFlagsBitField'); exports.BaseManager = require('./managers/BaseManager'); @@ -72,6 +71,8 @@ exports.WebSocketManager = require('./client/websocket/WebSocketManager'); exports.WebSocketShard = require('./client/websocket/WebSocketShard'); // Structures +// exports.RichPresence = require('./RPC/index'); +exports.RichPresence = require('discord-rpc-contructor'); exports.ActionRow = require('./structures/ActionRow'); exports.Activity = require('./structures/Presence').Activity; exports.AnonymousGuild = require('./structures/AnonymousGuild'); diff --git a/typings/index.d.ts b/typings/index.d.ts index e6ce24a..899ce76 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -144,7 +144,6 @@ import { } from './rawDataTypes'; //#region Classes - export class Activity { private constructor(presence: Presence, data?: RawActivityData); public applicationId: Snowflake | null;