4. New ClientUser Method
From Discord S.C.U.M Update to v1.2.0
This commit is contained in:
parent
8c7dfd595c
commit
fe1b3fc880
24
DOCUMENT.md
24
DOCUMENT.md
@ -119,6 +119,7 @@ User {
|
|||||||
flags: UserFlagsBitField { bitfield: 256 },
|
flags: UserFlagsBitField { bitfield: 256 },
|
||||||
friend: false,
|
friend: false,
|
||||||
blocked: false,
|
blocked: false,
|
||||||
|
note: null,
|
||||||
connectedAccounds: [],
|
connectedAccounds: [],
|
||||||
premiumSince: 1623357181151,
|
premiumSince: 1623357181151,
|
||||||
premiumGuildSince: 0,
|
premiumGuildSince: 0,
|
||||||
@ -303,14 +304,35 @@ await message.contextMenu(botID, commandName);
|
|||||||
- Credit: [Here](https://www.reddit.com/r/Discord_selfbots/comments/tczprx/discum_help_creating_a_selfbot_that_can_do_ping/)
|
- Credit: [Here](https://www.reddit.com/r/Discord_selfbots/comments/tczprx/discum_help_creating_a_selfbot_that_can_do_ping/)
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## User HypeSquad
|
## User & ClientUser Method
|
||||||
<details>
|
<details>
|
||||||
<summary>Click to show</summary>
|
<summary>Click to show</summary>
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
// HypeSquad
|
||||||
await client.user.setHypeSquad('HOUSE_BRAVERY');
|
await client.user.setHypeSquad('HOUSE_BRAVERY');
|
||||||
await client.user.setHypeSquad('HOUSE_BRILLIANCE');
|
await client.user.setHypeSquad('HOUSE_BRILLIANCE');
|
||||||
await client.user.setHypeSquad('HOUSE_BALANCE');
|
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
|
||||||
|
// 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');
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
22
README.md
22
README.md
@ -60,13 +60,13 @@ window.webpackChunkdiscord_app.push([[Math.random()], {}, (req) => {for (const m
|
|||||||
Credit: <img src="https://cdn.discordapp.com/emojis/889092230063734795.png" alt="." width="16" height="16"/> [<strong>hxr404</strong>](https://github.com/hxr404/Discord-Console-hacks)
|
Credit: <img src="https://cdn.discordapp.com/emojis/889092230063734795.png" alt="." width="16" height="16"/> [<strong>hxr404</strong>](https://github.com/hxr404/Discord-Console-hacks)
|
||||||
|
|
||||||
## Selfbot feature ?
|
## Selfbot feature ?
|
||||||
- Friends and Block Members
|
- [Friends and Block Members](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#discord-user-friend--blocked)
|
||||||
- Discord Apps Setting [Theme, Language, HypeSquad, etc.]
|
- [Discord Apps Setting: Theme, Language, HypeSquad, etc.](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#user-settings)
|
||||||
- Get Profile GuildMember [Nitro Time, Boost Time, Connected Account, Bio, etc.]
|
- [Get Profile GuildMember: Nitro Time, Boost Time, Connected Account, Bio, etc.](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#discord-user-info)
|
||||||
- Setting Position Guild and Folder
|
- [Setting Position Guild and Folder](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#discord-guild-set-position)
|
||||||
- Custom Status and RPC (without button, because it's not working)
|
- [Custom Status and RPC (without button, because it's not working)](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#custom-status-and-rpc)
|
||||||
- Interaction [Button, MessageSelectMenu, Slash, ContextMenu]
|
- [Interaction: Button, MessageSelectMenu, Slash, ContextMenu](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md#interaction)
|
||||||
- You can request more features for my module by placing an issue!
|
- [You can request more features for my module by placing an issue!](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues)
|
||||||
- Click <strong>[here](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md)</strong> to see the patched functions
|
- Click <strong>[here](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/DOCUMENT.md)</strong> to see the patched functions
|
||||||
## Links [Discord.js]
|
## Links [Discord.js]
|
||||||
|
|
||||||
@ -88,5 +88,13 @@ Credit: <img src="https://cdn.discordapp.com/emojis/889092230063734795.png" alt=
|
|||||||
|
|
||||||
## Need help?
|
## Need help?
|
||||||
Contact me in Discord: [Shiraori#1782](https://discord.com/users/721746046543331449)
|
Contact me in Discord: [Shiraori#1782](https://discord.com/users/721746046543331449)
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
- [Discord.js Teams](https://github.com/discordjs/discord.js)
|
||||||
|
- [Discord S.C.U.M Teams](https://github.com/Merubokkusu/Discord-S.C.U.M)
|
||||||
|
- [Yellowy dsb.js](https://github.com/TheDevYellowy/dsb.js)
|
||||||
|
- [Discord Console Hack](https://github.com/hxr404/Discord-Console-hacks)
|
||||||
|
- And the people who submitted the issue, colab, ...
|
||||||
|
|
||||||
## <strong><img src="https://cdn.discordapp.com/attachments/820557032016969751/952436539118456882/flag-vietnam_1f1fb-1f1f3.png" alt="." width="20" height="20"/> Vietnamese</strong>
|
## <strong><img src="https://cdn.discordapp.com/attachments/820557032016969751/952436539118456882/flag-vietnam_1f1fb-1f1f3.png" alt="." width="20" height="20"/> Vietnamese</strong>
|
||||||
- Tóm lại là module này dùng Discord.js v13 , API v10 nên chưa chết sớm đâu, cứ dùng đi =))
|
- Tóm lại là module này dùng Discord.js v13 , API v10 nên chưa chết sớm đâu, cứ dùng đi =))
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "discord.js-selfbot-v13",
|
"name": "discord.js-selfbot-v13",
|
||||||
"version": "1.1.7",
|
"version": "1.2.0",
|
||||||
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
|
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
|
||||||
"main": "./src/index.js",
|
"main": "./src/index.js",
|
||||||
"types": "./typings/index.d.ts",
|
"types": "./typings/index.d.ts",
|
||||||
|
@ -193,6 +193,12 @@ class Client extends BaseClient {
|
|||||||
*/
|
*/
|
||||||
this.readyAt = null;
|
this.readyAt = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Password cache
|
||||||
|
* @type {?string}
|
||||||
|
*/
|
||||||
|
this.password = null;
|
||||||
|
|
||||||
if (this.options.messageSweepInterval > 0) {
|
if (this.options.messageSweepInterval > 0) {
|
||||||
process.emitWarning(
|
process.emitWarning(
|
||||||
'The message sweeping client options are deprecated, use the global sweepers instead.',
|
'The message sweeping client options are deprecated, use the global sweepers instead.',
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
const User = require('./User');
|
const User = require('./User');
|
||||||
const DataResolver = require('../util/DataResolver');
|
const DataResolver = require('../util/DataResolver');
|
||||||
const { HypeSquadOptions } = require('../util/Constants');
|
const { HypeSquadOptions } = require('../util/Constants');
|
||||||
|
const { Util } = require('..');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the logged in client's Discord user.
|
* Represents the logged in client's Discord user.
|
||||||
@ -25,7 +26,8 @@ class ClientUser extends User {
|
|||||||
* If the bot's {@link ClientApplication#owner Owner} has MFA enabled on their account
|
* If the bot's {@link ClientApplication#owner Owner} has MFA enabled on their account
|
||||||
* @type {?boolean}
|
* @type {?boolean}
|
||||||
*/
|
*/
|
||||||
this.mfaEnabled = typeof data.mfa_enabled === 'boolean' ? data.mfa_enabled : null;
|
this.mfaEnabled =
|
||||||
|
typeof data.mfa_enabled === 'boolean' ? data.mfa_enabled : null;
|
||||||
} else {
|
} else {
|
||||||
this.mfaEnabled ??= null;
|
this.mfaEnabled ??= null;
|
||||||
}
|
}
|
||||||
@ -71,9 +73,15 @@ class ClientUser extends User {
|
|||||||
* @returns {Promise<ClientUser>}
|
* @returns {Promise<ClientUser>}
|
||||||
*/
|
*/
|
||||||
async edit(data) {
|
async edit(data) {
|
||||||
if (typeof data.avatar !== 'undefined') data.avatar = await DataResolver.resolveImage(data.avatar);
|
if (typeof data.avatar !== 'undefined')
|
||||||
|
data.avatar = await DataResolver.resolveImage(data.avatar);
|
||||||
|
if (typeof data.banner !== 'undefined')
|
||||||
|
data.banner = await DataResolver.resolveImage(data.banner);
|
||||||
const newData = await this.client.api.users('@me').patch({ data });
|
const newData = await this.client.api.users('@me').patch({ data });
|
||||||
this.client.token = newData.token;
|
this.client.token = newData.token;
|
||||||
|
this.client.password = data?.password
|
||||||
|
? data?.password
|
||||||
|
: this.client.password;
|
||||||
const { updated } = this.client.actions.UserUpdate.handle(newData);
|
const { updated } = this.client.actions.UserUpdate.handle(newData);
|
||||||
return updated ?? this;
|
return updated ?? this;
|
||||||
}
|
}
|
||||||
@ -83,6 +91,7 @@ class ClientUser extends User {
|
|||||||
* <info>Changing usernames in Discord is heavily rate limited, with only 2 requests
|
* <info>Changing usernames in Discord is heavily rate limited, with only 2 requests
|
||||||
* every hour. Use this sparingly!</info>
|
* every hour. Use this sparingly!</info>
|
||||||
* @param {string} username The new username
|
* @param {string} username The new username
|
||||||
|
* @param {string} password The password of the account
|
||||||
* @returns {Promise<ClientUser>}
|
* @returns {Promise<ClientUser>}
|
||||||
* @example
|
* @example
|
||||||
* // Set username
|
* // Set username
|
||||||
@ -90,8 +99,13 @@ class ClientUser extends User {
|
|||||||
* .then(user => console.log(`My new username is ${user.username}`))
|
* .then(user => console.log(`My new username is ${user.username}`))
|
||||||
* .catch(console.error);
|
* .catch(console.error);
|
||||||
*/
|
*/
|
||||||
setUsername(username) {
|
setUsername(username, password) {
|
||||||
return this.edit({ username });
|
if (!password && !this.client.password)
|
||||||
|
throw new Error('A password is required to change a username.');
|
||||||
|
return this.edit({
|
||||||
|
username,
|
||||||
|
password: this.client.password ? this.client.password : password,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -107,6 +121,24 @@ class ClientUser extends User {
|
|||||||
setAvatar(avatar) {
|
setAvatar(avatar) {
|
||||||
return this.edit({ avatar });
|
return this.edit({ avatar });
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Sets the banner of the logged in client.
|
||||||
|
* @param {?(BufferResolvable|Base64Resolvable)} banner The new banner
|
||||||
|
* @returns {Promise<ClientUser>}
|
||||||
|
* @example
|
||||||
|
* // Set banner
|
||||||
|
* client.user.setBanner('./banner.png')
|
||||||
|
* .then(user => console.log(`New banner set!`))
|
||||||
|
* .catch(console.error);
|
||||||
|
*/
|
||||||
|
setBanner(banner) {
|
||||||
|
if (this.nitroType !== 2)
|
||||||
|
throw new Error(
|
||||||
|
'You must be a Nitro Boosted User to change your banner.',
|
||||||
|
);
|
||||||
|
return this.edit({ banner });
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set HyperSquad House
|
* Set HyperSquad House
|
||||||
* @param {HypeSquadOptions<Number|String>} type
|
* @param {HypeSquadOptions<Number|String>} type
|
||||||
@ -121,7 +153,105 @@ class ClientUser extends User {
|
|||||||
async setHypeSquad(type) {
|
async setHypeSquad(type) {
|
||||||
const id = typeof type === 'string' ? HypeSquadOptions[type] : type;
|
const id = typeof type === 'string' ? HypeSquadOptions[type] : type;
|
||||||
if (!id) throw new Error('Invalid HypeSquad type.');
|
if (!id) throw new Error('Invalid HypeSquad type.');
|
||||||
return await this.client.api.hypesquad.online.post({ data: {house_id: id} });
|
return await this.client.api.hypesquad.online.post({
|
||||||
|
data: { house_id: id },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Accent color
|
||||||
|
* @param {ColorResolvable} color Color to set
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
setAccentColor(color = null) {
|
||||||
|
return this.edit({ accent_color: color ? Util.resolveColor(color) : null });
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set discriminator
|
||||||
|
* @param {User.discriminator} discriminator It is #1234
|
||||||
|
* @param {string} password The password of the account
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
setDiscriminator(discriminator, password) {
|
||||||
|
if (!password && !this.client.password)
|
||||||
|
throw new Error('A password is required to change a discriminator.');
|
||||||
|
return this.edit({
|
||||||
|
discriminator,
|
||||||
|
password: this.client.password ? this.client.password : password,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set About me
|
||||||
|
* @param {String} bio Bio to set
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
setAboutMe(bio = null) {
|
||||||
|
return this.edit({
|
||||||
|
bio,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change the email
|
||||||
|
* @param {Email<string>} email Email to change
|
||||||
|
* @param {string} password Password of the account
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
setEmail(email, password) {
|
||||||
|
if (!password && !this.client.password)
|
||||||
|
throw new Error('A password is required to change a email.');
|
||||||
|
return this.edit({
|
||||||
|
email,
|
||||||
|
password: this.client.password ? this.client.password : password,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set new password
|
||||||
|
* @param {string} oldPassword Old password
|
||||||
|
* @param {string} newPassword New password to set
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
setPassword(oldPassword, newPassword) {
|
||||||
|
if (!oldPassword && !this.client.password)
|
||||||
|
throw new Error('A password is required to change a password.');
|
||||||
|
if (!newPassword) throw new Error('New password is required.');
|
||||||
|
return this.edit({
|
||||||
|
password: this.client.password ? this.client.password : oldPassword,
|
||||||
|
new_password: newPassword,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable account
|
||||||
|
* @param {string} password Password of the account
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
async disableAccount(password) {
|
||||||
|
if (!password && !this.client.password)
|
||||||
|
throw new Error('A password is required to disable an account.');
|
||||||
|
return await this.client.api.users['@me'].disable.post({
|
||||||
|
data: {
|
||||||
|
password: this.client.password ? this.client.password : password,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete account. Warning: Cannot be changed once used!
|
||||||
|
* @param {string} password Password of the account
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
async deleteAccount(password) {
|
||||||
|
if (!password && !this.client.password)
|
||||||
|
throw new Error('A password is required to delete an account.');
|
||||||
|
return await this.client.api.users['@me'].delete.post({
|
||||||
|
data: {
|
||||||
|
password: this.client.password ? this.client.password : password,
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -194,10 +324,18 @@ class ClientUser extends User {
|
|||||||
* client.user.setActivity('discord.js', { type: 'WATCHING' });
|
* client.user.setActivity('discord.js', { type: 'WATCHING' });
|
||||||
*/
|
*/
|
||||||
setActivity(name, options = {}) {
|
setActivity(name, options = {}) {
|
||||||
if (!name) return this.setPresence({ activities: [], shardId: options.shardId });
|
if (!name)
|
||||||
|
return this.setPresence({ activities: [], shardId: options.shardId });
|
||||||
|
|
||||||
const activity = Object.assign({}, options, typeof name === 'object' ? name : { name });
|
const activity = Object.assign(
|
||||||
return this.setPresence({ activities: [activity], shardId: activity.shardId });
|
{},
|
||||||
|
options,
|
||||||
|
typeof name === 'object' ? name : { name },
|
||||||
|
);
|
||||||
|
return this.setPresence({
|
||||||
|
activities: [activity],
|
||||||
|
shardId: activity.shardId,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -423,6 +423,11 @@ class User extends Base {
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set note to user
|
||||||
|
* @param {String<User.note>} note Note to set
|
||||||
|
* @returns {Promise<User.note>}
|
||||||
|
*/
|
||||||
async setNote(note = null) {
|
async setNote(note = null) {
|
||||||
await this.client.api.users['@me']
|
await this.client.api.users['@me']
|
||||||
.notes(id)
|
.notes(id)
|
||||||
|
14
typings/index.d.ts
vendored
14
typings/index.d.ts
vendored
@ -565,6 +565,7 @@ export class Client<Ready extends boolean = boolean> extends BaseClient {
|
|||||||
public users: UserManager;
|
public users: UserManager;
|
||||||
public voice: ClientVoiceManager;
|
public voice: ClientVoiceManager;
|
||||||
public ws: WebSocketManager;
|
public ws: WebSocketManager;
|
||||||
|
public password: String | null;
|
||||||
public destroy(): void;
|
public destroy(): void;
|
||||||
public fetchGuildPreview(guild: GuildResolvable): Promise<GuildPreview>;
|
public fetchGuildPreview(guild: GuildResolvable): Promise<GuildPreview>;
|
||||||
public fetchInvite(invite: InviteResolvable, options?: ClientFetchInviteOptions): Promise<Invite>;
|
public fetchInvite(invite: InviteResolvable, options?: ClientFetchInviteOptions): Promise<Invite>;
|
||||||
@ -636,10 +637,19 @@ export class ClientUser extends User {
|
|||||||
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
||||||
public setAFK(afk?: boolean, shardId?: number | number[]): ClientPresence;
|
public setAFK(afk?: boolean, shardId?: number | number[]): ClientPresence;
|
||||||
public setAvatar(avatar: BufferResolvable | Base64Resolvable | null): Promise<this>;
|
public setAvatar(avatar: BufferResolvable | Base64Resolvable | null): Promise<this>;
|
||||||
|
public setBanner(banner: BufferResolvable | Base64Resolvable | null): Promise<this>;
|
||||||
public setPresence(data: PresenceData): ClientPresence;
|
public setPresence(data: PresenceData): ClientPresence;
|
||||||
public setStatus(status: PresenceStatusData, shardId?: number | number[]): ClientPresence;
|
public setStatus(status: PresenceStatusData, shardId?: number | number[]): ClientPresence;
|
||||||
public setUsername(username: string): Promise<this>;
|
public setUsername(username: string, password: string): Promise<this>;
|
||||||
public setHypeSquad(type: HypeSquadOptions<Number|String>): Promise<void>;
|
public setHypeSquad(type: HypeSquadOptions<Number|String>): Promise<void>;
|
||||||
|
public setAccentColor(color: ColorResolvable): Promise<this>;
|
||||||
|
public setDiscriminator(discriminator: string, password: string): Promise<this>;
|
||||||
|
public setAboutMe(bio: string): Promise<this>;
|
||||||
|
public setBanner(): Promise<this>;
|
||||||
|
public setEmail(email: string, password: string): Promise<this>;
|
||||||
|
public setPassword(oldPassword: string, newPassword: string): Promise<this>;
|
||||||
|
public disableAccount(password: string): Promise<this>;
|
||||||
|
public deleteAccount(password: string): Promise<this>;
|
||||||
// Selfbot
|
// Selfbot
|
||||||
public readonly nitro: boolean;
|
public readonly nitro: boolean;
|
||||||
/**
|
/**
|
||||||
@ -2427,6 +2437,7 @@ export class User extends PartialTextBasedChannel(Base) {
|
|||||||
public system: boolean;
|
public system: boolean;
|
||||||
public readonly tag: string;
|
public readonly tag: string;
|
||||||
public username: string;
|
public username: string;
|
||||||
|
public note: string | null;
|
||||||
public avatarURL(options?: ImageURLOptions): string | null;
|
public avatarURL(options?: ImageURLOptions): string | null;
|
||||||
public bannerURL(options?: ImageURLOptions): string | null;
|
public bannerURL(options?: ImageURLOptions): string | null;
|
||||||
public createDM(force?: boolean): Promise<DMChannel>;
|
public createDM(force?: boolean): Promise<DMChannel>;
|
||||||
@ -2440,6 +2451,7 @@ export class User extends PartialTextBasedChannel(Base) {
|
|||||||
public sendFriendRequest(): Promise<User>;
|
public sendFriendRequest(): Promise<User>;
|
||||||
public unFriend(): Promise<User>;
|
public unFriend(): Promise<User>;
|
||||||
public unBlock(): Promise<User>;
|
public unBlock(): Promise<User>;
|
||||||
|
public setNote(note): Promise<String>;
|
||||||
public getProfile(): Promise<User>;
|
public getProfile(): Promise<User>;
|
||||||
public toString(): UserMention;
|
public toString(): UserMention;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user