From 6af816d45751a774f7503956ef0cc9a50a1acafd Mon Sep 17 00:00:00 2001 From: March 7th <71698422+aiko-chan-ai@users.noreply.github.com> Date: Sun, 10 Apr 2022 20:11:20 +0700 Subject: [PATCH] Document .-. maybe --- DOCUMENT.md | 430 +-------------------------------------- Document/ClientOption.md | 8 + Document/Guild.md | 66 ++++++ Document/HTTPOption.md | 22 ++ Document/Message.md | 94 +++++++++ Document/User.md | 235 +++++++++++++++++++++ 6 files changed, 426 insertions(+), 429 deletions(-) create mode 100644 Document/ClientOption.md create mode 100644 Document/Guild.md create mode 100644 Document/HTTPOption.md create mode 100644 Document/Message.md create mode 100644 Document/User.md diff --git a/DOCUMENT.md b/DOCUMENT.md index 14b5b9a..2d09529 100644 --- a/DOCUMENT.md +++ b/DOCUMENT.md @@ -3,435 +3,7 @@ # [Risky actions](https://github.com/Merubokkusu/Discord-S.C.U.M/issues/66) -## HTTP options: - -```js -/* If you want to change the API version from v9 to v10, here are the instructions */ -const { Client } = require('discord.js-selfbot-v13'); -const client = new Client({ - ws: { - version: 10 - }, - http: { - version: 10, - header: { - cookie: '', // If you want to use cookies, here is the place - } - } -}); -/* Discord fingerprint ??? idk ... */ -/** - * const { data } = await axios.get('https://discord.com/api/v9/experiments'); - * client.options.http.header['x-fingerprint'] = data.fingerprint - */ -``` - -## Client Settings -
-Click to show - -```js -new Client({ - checkUpdate: true, // Check Package Update (Bot Ready) [Enable Default] - readyStatus: false, // Set Custom Status sync from Account (Bot Ready) [Disable Default] - autoCookie: true, // Auto added Cookie and Fingerprint [Enable Default](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#http-options) -}) -``` -
- -## User Settings -
-Click to show - -```js -client.setting // Return Data Setting User; -client.setting.setDisplayCompactMode(true | false); // Message Compact Mode -client.setting.setTheme('dark' | 'light'); // Discord App theme -client.setting.setLocale(value); // Set Language - /** - * * Locale Setting, must be one of: - * * `DANISH` - * * `GERMAN` - * * `ENGLISH_UK` - * * `ENGLISH_US` - * * `SPANISH` - * * `FRENCH` - * * `CROATIAN` - * * `ITALIAN` - * * `LITHUANIAN` - * * `HUNGARIAN` - * * `DUTCH` - * * `NORWEGIAN` - * * `POLISH` - * * `BRAZILIAN_PORTUGUESE` - * * `ROMANIA_ROMANIAN` - * * `FINNISH` - * * `SWEDISH` - * * `VIETNAMESE` - * * `TURKISH` - * * `CZECH` - * * `GREEK` - * * `BULGARIAN` - * * `RUSSIAN` - * * `UKRAINIAN` - * * `HINDI` - * * `THAI` - * * `CHINA_CHINESE` - * * `JAPANESE` - * * `TAIWAN_CHINESE` - * * `KOREAN` - * @param {string} value - * @returns {locale} - */ -``` - -
- -## Discord User Info -
-Click to show - -Code: -```js -GuildMember.user.getProfile(); -// or -User.getProfile(); -``` -Response -```js -User { - id: '721746046543331449', - bot: false, - system: false, - flags: UserFlagsBitField { bitfield: 256 }, - connectedAccounts: [], - premiumSince: 1623357181151, - premiumGuildSince: 0, - mutualGuilds: Collection(3) [Map] { - '906765260017516605' => { id: '906765260017516605', nick: null }, - '809133733591384155' => { id: '809133733591384155', nick: 'uwu' }, - '926065180788531261' => { id: '926065180788531261', nick: 'shiro' } - }, - username: 'Shiraori', - discriminator: '1782', - avatar: 'f9ba7fb35b223e5f1a12eb910faa40c2', - banner: undefined, - accentColor: undefined -} -``` -
- -## Discord User Friend / Blocked -
-Click to show - -Code: -```js -GuildMember.user.setFriend(); -User.unFriend(); -Message.member.user.sendFriendRequest(); -// or -GuildMember.user.setBlock(); -User.unBlock(); -``` -Response -```js -User { - id: '721746046543331449', - bot: false, - system: false, - flags: UserFlagsBitField { bitfield: 256 }, - note: null, - connectedAccounts: [], - premiumSince: 1623357181151, - premiumGuildSince: 0, - mutualGuilds: Collection(3) [Map] { - '906765260017516605' => { id: '906765260017516605', nick: null }, - '809133733591384155' => { id: '809133733591384155', nick: 'uwu' }, - '926065180788531261' => { id: '926065180788531261', nick: 'shiro' } - }, - username: 'Shiraori', - discriminator: '1782', - avatar: 'f9ba7fb35b223e5f1a12eb910faa40c2', - banner: undefined, - accentColor: undefined -} -``` -
- -## Discord Guild set position -
-Click to show - -Code: -```js -guild.setPosition(position, type, folderID); -// Position: The guild's index in the directory or out of the directory -// Type: -// + 'FOLDER': Move guild to folder -// + 'HOME': Move the guild out of the directory -// FolderID: The folder's ID , if you want to move the guild to a folder -``` -Response -```js -Guild {} -``` -
- -## Group DM -
-Click to show - -Code: -```js -/* Create */ -const memberAdd = [ - client.users.cache.get('id1'), - client.users.cache.get('id2'), - ... - client.users.cache.get('id9') -] -// Max member add to Group: 9, Min: 2 -await client.channels.createGroupDM(memberAdd); -/* Edit */ -const groupDM = client.channels.cache.get('id'); -await groupDM.setName('New Name'); -await groupDM.setIcon('iconURL'); -await groupDM.getInvite(); -await groupDM.fetchInvite(); -await groupDM.removeInvite(invite); -await groupDM.addMember(user); -await groupDM.removeMember(user); -/* Text Channel not Bulk delete */ -await groupDM.send('Hello World'); -await groupDM.delete(); // Leave -``` - -
- -## Custom Status and RPC - -
-Click to show -Custom Status - -```js -const RichPresence = require('discord-rpc-contructor'); // My module :)) -const custom = new RichPresence.CustomStatus() - .setUnicodeEmoji('🎮') // Set Unicode Emoji [Using one] - .setDiscordEmoji({ // Set Custom Emoji (Nitro Classic / Boost) [Using one] - name: 'nom', - id: '737373737373737373', - animated: false, - }) - .setState('Testing') // Name of presence - .toDiscord(); -client.user.setActivity(custom); -``` - -Rich Presence [Custom] -```js -const RPC = require('discord-rpc-contructor'); -const r = new RPC.Rpc() - .setApplicationId('817229550684471297') - .setType(0) - .setState('State') - .setName('Name') - .setDetails('Details') - .setParty({ - size: [1, 2], - id: RPC.uuid(), - }) - .setStartTimestamp(Date.now()) - .setAssetsLargeImage('929325841350000660') - .setAssetsLargeText('Youtube') - .setAssetsSmallImage('895316294222635008') - .setAssetsSmallText('Bot') -client.user.setActivity(r.toDiscord().game); -// Button not working -``` - - -Rich Presence with Twitch / Spotify - -```js -Update soon ~ -``` - -How to get AssetID ? - -Code - -```js -const RPC = require('discord-rpc-contructor'); -// Bot ID -RPC.getRpcImages('817229550684471297').then(console.log); -``` -Return -```js -// ID is AssetID -[ - { id: '838629816881381376', type: 1, name: 'honkai' }, - { id: '853533658250084352', type: 1, name: 'vscode' }, - { id: '895316294222635008', type: 1, name: 'botsagiri' }, - { id: '929324633063292929', type: 1, name: 'soundcloud' }, - { id: '929324634858479666', type: 1, name: 'spotify' }, - { id: '929325841350000660', type: 1, name: 'youtube' } -] -``` -You can cache to use these files, do not run this function too much because it will be rate limit -And you can change the status 5 times every 20 seconds! -
- -## Interaction -
-Button Click - -```js -await Button.click(Message); // Message has button (v1) -// -await message.clickButton(buttonID); // Message has button (v2) -``` -
-
-Message Select Menu - -```js -await MessageSelectMenu.select(Message, options); // Message has menu (v1) -// value: ['value1', 'value2' , ...] -await message.selectMenu(menuID, options) // If message has >= 2 menu -await message.selectMenu(options) // If message has 1 menu -``` -
-
-Slash Command - -```js -// v1 [deprecated] -// v2 -await Channel.sendSlash(botID, commandName, ['option1', 'option2']); -// Eg /addrole roleID: 12345678987654321 userID: 98765432123456789 -// => await Channel.sendSlash(botID, 'addrole', ['12345678987654321', '98765432123456789']); -// Command group -await Channel.sendSlash(botID, commandName, ['sub command', 'option1', 'option2']); -// Eg: /role add roleID: 12345678987654321 userID: 98765432123456789 -// => await Channel.sendSlash(botID, 'role', ['add', '12345678987654321', '98765432123456789']); -``` -
-
-Message Context Command - -```js -// v1 [deprecated] -// v2 -await message.contextMenu(botID, commandName); -``` -
-
-Issue ? - -- It has some minor bugs. -- ErrorCode: 20012 => You are not authorized to perform this action on this application -- I tried to fix it by creating 1 DMs with bot -- In this way, all Slash commands can be obtained -- I will try to find another way to not need to create DMs with Bot anymore -- Credit: [Here](https://www.reddit.com/r/Discord_selfbots/comments/tczprx/discum_help_creating_a_selfbot_that_can_do_ping/) -
- -## MessageEmbed ? -- Because Discord has removed the ability to send Embeds in its API, that means MessageEmbed is unusable. But I have created a constructor that uses oEmbed from [page](https://embed.benny.fun/) (known to this site by module py discord.py-self_embed, thanks) - -
-Click to show - - -Code: -```js -const Discord = require('discord.js-selfbot-v13'); -const w = new Discord.WebEmbed({ - shorten: true, - hidden: false // if you send this embed with MessagePayload.options.embeds, it must set to false -}) - .setAuthor({ name: 'hello', url: 'https://google.com' }) - .setColor('RED') - .setDescription('description uh') - .setProvider({ name: 'provider', url: 'https://google.com' }) - .setTitle('This is Title') - .setURL('https://google.com') - .setImage( - 'https://cdn.discordapp.com/attachments/820557032016969751/959093026695835648/unknown.png', - ) - .setVideo( - 'https://cdn.discordapp.com/attachments/877060758092021801/957691816143097936/The_Quintessential_Quintuplets_And_Rick_Astley_Autotune_Remix.mp4', - ); -message.channel.send({ content: `Hello world`, embeds: [w] }) // Patched :) - -``` -### Features & Issues -- No Timestamp, Footer, Thumbnail (but embed video, thumbnail working), Fields, Author iconURL -- Video with Embed working -- Description limit 350 characters -- If you use hidden mode you must make sure your custom content is less than 1000 characters without nitro (because hidden mode uses 1000 characters + URL) - -
- - -## User & ClientUser Method -
-Click to show - -```js -// HypeSquad -await client.user.setHypeSquad('HOUSE_BRAVERY'); -await client.user.setHypeSquad('HOUSE_BRILLIANCE'); -await client.user.setHypeSquad('HOUSE_BALANCE'); -// Set Note to User -await user.setNote('Hello World'); -// Set Username -await client.user.setUsername('new username', 'password'); -// Set Accent Color -await client.user.setAccentColor('RED'); // set color same as Embed.setColor() -// Set Banner -await client.user.setBanner('image file / image url'); // same as setAvatar & Require Nitro level 2 -// Set Discord Tag -await client.user.setDiscriminator('1234', 'password'); // #1234 & Require Nitro -// Set About me -await client.user.setAboutMe('Hello World'); -// Set Email -await client.user.setEmail('aiko.dev@mail.nezukobot.vn', 'password'); // It is clone email =)) -// Change Password -await client.user.setPassword('old password', 'new password'); -// Disable Account -await client.user.disableAccount('password'); -// Delete Account [WARNING] Cannot be changed once used! -await client.user.deleteAccount('password'); -``` -
- -## Join Guild using Invite -
-Click to show - -```js -await client.fetchInvite('code').then(async invite => { - await invite.acceptInvite(true); -}); -``` -`invite.acceptInvite(true);` => Auto skip verify screen - - - -But if you are blocked by HCaptcha, this will not work -
- -## Reddem Nitro ? -
-Click to show - -```js -await client.reddemNitro('code') -``` -
+# Quick links ## More features diff --git a/Document/ClientOption.md b/Document/ClientOption.md new file mode 100644 index 00000000..fa073d6 --- /dev/null +++ b/Document/ClientOption.md @@ -0,0 +1,8 @@ +## Client Settings +```js +new Client({ + checkUpdate: true, // Check Package Update (Bot Ready) [Enable Default] + readyStatus: false, // Set Custom Status sync from Account (Bot Ready) [Disable Default] + autoCookie: true, // Auto added Cookie and Fingerprint [Enable Default](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#http-options) +}) +``` \ No newline at end of file diff --git a/Document/Guild.md b/Document/Guild.md new file mode 100644 index 00000000..f540875 --- /dev/null +++ b/Document/Guild.md @@ -0,0 +1,66 @@ +## Discord Guild set position +
+Click to show + +Code: +```js +guild.setPosition(position, type, folderID); +// Position: The guild's index in the directory or out of the directory +// Type: +// + 'FOLDER': Move guild to folder +// + 'HOME': Move the guild out of the directory +// FolderID: The folder's ID , if you want to move the guild to a folder +``` +Response +```js +Guild {} +``` +
+ +## Group DM +
+Click to show + +Code: +```js +/* Create */ +const memberAdd = [ + client.users.cache.get('id1'), + client.users.cache.get('id2'), + ... + client.users.cache.get('id9') +] +// Max member add to Group: 9, Min: 2 +await client.channels.createGroupDM(memberAdd); +/* Edit */ +const groupDM = client.channels.cache.get('id'); +await groupDM.setName('New Name'); +await groupDM.setIcon('iconURL'); +await groupDM.getInvite(); +await groupDM.fetchInvite(); +await groupDM.removeInvite(invite); +await groupDM.addMember(user); +await groupDM.removeMember(user); +/* Text Channel not Bulk delete */ +await groupDM.send('Hello World'); +await groupDM.delete(); // Leave +``` + +
+ + +## Join Guild using Invite +
+Click to show + +```js +await client.fetchInvite('code').then(async invite => { + await invite.acceptInvite(true); +}); +``` +`invite.acceptInvite(true);` => Auto skip verify screen + + + +But if you are blocked by HCaptcha, this will not work +
diff --git a/Document/HTTPOption.md b/Document/HTTPOption.md new file mode 100644 index 00000000..1d7f6c1 --- /dev/null +++ b/Document/HTTPOption.md @@ -0,0 +1,22 @@ +## HTTP options: + +```js +/* If you want to change the API version from v9 to v10, here are the instructions */ +const { Client } = require('discord.js-selfbot-v13'); +const client = new Client({ + ws: { + version: 10 + }, + http: { + version: 10, + header: { + cookie: '', // If you want to use cookies, here is the place + } + } +}); +/* Discord fingerprint ??? idk ... */ +/** + * const { data } = await axios.get('https://discord.com/api/v9/experiments'); + * client.options.http.header['x-fingerprint'] = data.fingerprint + */ +``` \ No newline at end of file diff --git a/Document/Message.md b/Document/Message.md new file mode 100644 index 00000000..0324561 --- /dev/null +++ b/Document/Message.md @@ -0,0 +1,94 @@ +## Interaction +
+Button Click + +```js +await Button.click(Message); // Message has button (v1) +// +await message.clickButton(buttonID); // Message has button (v2) +``` +
+
+Message Select Menu + +```js +await MessageSelectMenu.select(Message, options); // Message has menu (v1) +// value: ['value1', 'value2' , ...] +await message.selectMenu(menuID, options) // If message has >= 2 menu +await message.selectMenu(options) // If message has 1 menu +``` +
+
+Slash Command + +```js +// v1 [deprecated] +// v2 +await Channel.sendSlash(botID, commandName, ['option1', 'option2']); +// Eg /addrole roleID: 12345678987654321 userID: 98765432123456789 +// => await Channel.sendSlash(botID, 'addrole', ['12345678987654321', '98765432123456789']); +// Command group +await Channel.sendSlash(botID, commandName, ['sub command', 'option1', 'option2']); +// Eg: /role add roleID: 12345678987654321 userID: 98765432123456789 +// => await Channel.sendSlash(botID, 'role', ['add', '12345678987654321', '98765432123456789']); +``` +
+
+Message Context Command + +```js +// v1 [deprecated] +// v2 +await message.contextMenu(botID, commandName); +``` +
+
+Issue ? + +- It has some minor bugs. +> DiscordAPIError [20012] You are not authorized to perform this action on this application +> +> I tried to fix it by creating 1 DMs with bot +> +> In this way, all Slash commands can be obtained +- I will try to find another way to not need to create DMs with Bot anymore +- Credit: [Here](https://www.reddit.com/r/Discord_selfbots/comments/tczprx/discum_help_creating_a_selfbot_that_can_do_ping/) +
+ +## MessageEmbed ? +- Because Discord has removed the ability to send Embeds in its API, that means MessageEmbed is unusable. But I have created a constructor that uses oEmbed from [page](https://embed.benny.fun/) (known to this site by module py discord.py-self_embed, thanks) +- Update: This [page](https://embed.benny.fun/) is no longer available. + +
+Click to show + + +Code: +```js +const Discord = require('discord.js-selfbot-v13'); +const w = new Discord.WebEmbed({ + shorten: true, + hidden: false // if you send this embed with MessagePayload.options.embeds, it must set to false +}) + .setAuthor({ name: 'hello', url: 'https://google.com' }) + .setColor('RED') + .setDescription('description uh') + .setProvider({ name: 'provider', url: 'https://google.com' }) + .setTitle('This is Title') + .setURL('https://google.com') + .setImage( + 'https://cdn.discordapp.com/attachments/820557032016969751/959093026695835648/unknown.png', + ) + .setVideo( + 'https://cdn.discordapp.com/attachments/877060758092021801/957691816143097936/The_Quintessential_Quintuplets_And_Rick_Astley_Autotune_Remix.mp4', + ); +message.channel.send({ content: `Hello world`, embeds: [w] }) // Patched :) + +``` +### Features & Issues +- No Timestamp, Footer, Thumbnail (but embed video, thumbnail working), Fields, Author iconURL +- Video with Embed working +- Description limit 350 characters +- If you use hidden mode you must make sure your custom content is less than 1000 characters without nitro (because hidden mode uses 1000 characters + URL) + +
\ No newline at end of file diff --git a/Document/User.md b/Document/User.md new file mode 100644 index 00000000..85d0129 --- /dev/null +++ b/Document/User.md @@ -0,0 +1,235 @@ +## User Settings +
+Click to show + +```js +client.setting // Return Data Setting User; +client.setting.setDisplayCompactMode(true | false); // Message Compact Mode +client.setting.setTheme('dark' | 'light'); // Discord App theme +client.setting.setLocale(value); // Set Language + /** + * * Locale Setting, must be one of: + * * `DANISH` + * * `GERMAN` + * * `ENGLISH_UK` + * * `ENGLISH_US` + * * `SPANISH` + * * `FRENCH` + * * `CROATIAN` + * * `ITALIAN` + * * `LITHUANIAN` + * * `HUNGARIAN` + * * `DUTCH` + * * `NORWEGIAN` + * * `POLISH` + * * `BRAZILIAN_PORTUGUESE` + * * `ROMANIA_ROMANIAN` + * * `FINNISH` + * * `SWEDISH` + * * `VIETNAMESE` + * * `TURKISH` + * * `CZECH` + * * `GREEK` + * * `BULGARIAN` + * * `RUSSIAN` + * * `UKRAINIAN` + * * `HINDI` + * * `THAI` + * * `CHINA_CHINESE` + * * `JAPANESE` + * * `TAIWAN_CHINESE` + * * `KOREAN` + * @param {string} value + * @returns {locale} + */ +``` + +
+ +## Discord User Info +
+Click to show + +Code: +```js +GuildMember.user.getProfile(); +// or +User.getProfile(); +``` +Response +```js +User { + id: '721746046543331449', + bot: false, + system: false, + flags: UserFlagsBitField { bitfield: 256 }, + connectedAccounts: [], + premiumSince: 1623357181151, + premiumGuildSince: 0, + mutualGuilds: Collection(3) [Map] { + '906765260017516605' => { id: '906765260017516605', nick: null }, + '809133733591384155' => { id: '809133733591384155', nick: 'uwu' }, + '926065180788531261' => { id: '926065180788531261', nick: 'shiro' } + }, + username: 'Shiraori', + discriminator: '1782', + avatar: 'f9ba7fb35b223e5f1a12eb910faa40c2', + banner: undefined, + accentColor: undefined +} +``` +
+ +## Discord User Friend / Blocked +
+Click to show + +Code: +```js +GuildMember.user.setFriend(); +User.unFriend(); +Message.member.user.sendFriendRequest(); +// or +GuildMember.user.setBlock(); +User.unBlock(); +``` +Response +```js +User { + id: '721746046543331449', + bot: false, + system: false, + flags: UserFlagsBitField { bitfield: 256 }, + note: null, + connectedAccounts: [], + premiumSince: 1623357181151, + premiumGuildSince: 0, + mutualGuilds: Collection(3) [Map] { + '906765260017516605' => { id: '906765260017516605', nick: null }, + '809133733591384155' => { id: '809133733591384155', nick: 'uwu' }, + '926065180788531261' => { id: '926065180788531261', nick: 'shiro' } + }, + username: 'Shiraori', + discriminator: '1782', + avatar: 'f9ba7fb35b223e5f1a12eb910faa40c2', + banner: undefined, + accentColor: undefined +} +``` +
+ +## Custom Status and RPC + +
+Click to show +Custom Status + +```js +const RichPresence = require('discord-rpc-contructor'); // My module :)) +const custom = new RichPresence.CustomStatus() + .setUnicodeEmoji('🎮') // Set Unicode Emoji [Using one] + .setDiscordEmoji({ // Set Custom Emoji (Nitro Classic / Boost) [Using one] + name: 'nom', + id: '737373737373737373', + animated: false, + }) + .setState('Testing') // Name of presence + .toDiscord(); +client.user.setActivity(custom); +``` + +Rich Presence [Custom] +```js +const RPC = require('discord-rpc-contructor'); +const r = new RPC.Rpc() + .setApplicationId('817229550684471297') + .setType(0) + .setState('State') + .setName('Name') + .setDetails('Details') + .setParty({ + size: [1, 2], + id: RPC.uuid(), + }) + .setStartTimestamp(Date.now()) + .setAssetsLargeImage('929325841350000660') + .setAssetsLargeText('Youtube') + .setAssetsSmallImage('895316294222635008') + .setAssetsSmallText('Bot') +client.user.setActivity(r.toDiscord().game); +// Button not working +``` + + +Rich Presence with Twitch / Spotify + +```js +Update soon ~ +``` + +How to get AssetID ? + +Code + +```js +const RPC = require('discord-rpc-contructor'); +// Bot ID +RPC.getRpcImages('817229550684471297').then(console.log); +``` +Return +```js +// ID is AssetID +[ + { id: '838629816881381376', type: 1, name: 'honkai' }, + { id: '853533658250084352', type: 1, name: 'vscode' }, + { id: '895316294222635008', type: 1, name: 'botsagiri' }, + { id: '929324633063292929', type: 1, name: 'soundcloud' }, + { id: '929324634858479666', type: 1, name: 'spotify' }, + { id: '929325841350000660', type: 1, name: 'youtube' } +] +``` +You can cache to use these files, do not run this function too much because it will be rate limit +And you can change the status 5 times every 20 seconds! +
+ +## User & ClientUser Method +
+Click to show + +```js +// HypeSquad +await client.user.setHypeSquad('HOUSE_BRAVERY'); +await client.user.setHypeSquad('HOUSE_BRILLIANCE'); +await client.user.setHypeSquad('HOUSE_BALANCE'); +// Set Note to User +await user.setNote('Hello World'); +// Set Username +await client.user.setUsername('new username', 'password'); +// Set Accent Color +await client.user.setAccentColor('RED'); // set color same as Embed.setColor() +// Set Banner +await client.user.setBanner('image file / image url'); // same as setAvatar & Require Nitro level 2 +// Set Discord Tag +await client.user.setDiscriminator('1234', 'password'); // #1234 & Require Nitro +// Set About me +await client.user.setAboutMe('Hello World'); +// Set Email +await client.user.setEmail('aiko.dev@mail.nezukobot.vn', 'password'); // It is clone email =)) +// Change Password +await client.user.setPassword('old password', 'new password'); +// Disable Account +await client.user.disableAccount('password'); +// Delete Account [WARNING] Cannot be changed once used! +await client.user.deleteAccount('password'); +``` +
+ + +## Reddem Nitro ? +
+Click to show + +```js +await client.reddemNitro('code') +``` +