feat(RelationshipsManager): new cancelFriendRequest
method
Extends (add Typings)
This commit is contained in:
parent
baa2900428
commit
f7db2384b9
@ -63,7 +63,7 @@ class RelationshipsManager {
|
||||
* Obtains a user from Discord, or the user cache if it's already available.
|
||||
* @param {UserResolvable} user The user to fetch
|
||||
* @param {BaseFetchOptions} [options] Additional options for this fetch
|
||||
* @returns {Promise<User>}
|
||||
* @returns {Promise<RelationshipTypes>} Enums
|
||||
*/
|
||||
async fetch(user, { force = false } = {}) {
|
||||
const id = this.resolveId(user);
|
||||
@ -81,28 +81,26 @@ class RelationshipsManager {
|
||||
|
||||
/**
|
||||
* Deletes a friend relationship with a client user.
|
||||
* @param {User} user Target
|
||||
* @param {UserResolvable} user Target
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
async deleteFriend(user) {
|
||||
deleteFriend(user) {
|
||||
const id = this.resolveId(user);
|
||||
// Check if already friends
|
||||
if (this.cache.get(id) !== RelationshipTypes.FRIEND) return false;
|
||||
await this.client.api.users['@me'].relationships[id].delete(); // 204 status and no data
|
||||
return true;
|
||||
return this.__cancel(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a blocked relationship with a client user.
|
||||
* @param {User} user Target
|
||||
* @param {UserResolvable} user Target
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
async deleteBlocked(user) {
|
||||
deleteBlocked(user) {
|
||||
const id = this.resolveId(user);
|
||||
// Check if already blocked
|
||||
if (this.cache.get(id) !== RelationshipTypes.BLOCKED) return false;
|
||||
await this.client.api.users['@me'].relationships[id].delete(); // 204 status and no data
|
||||
return true;
|
||||
return this.__cancel(id);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,10 +121,16 @@ class RelationshipsManager {
|
||||
|
||||
/**
|
||||
* Cancels a friend request.
|
||||
* @param {Snowflake} snowflake Snowflake of the user you want to delete
|
||||
* @param {UserResolvable} user the user you want to delete
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
async cancelFriendRequest(id) {
|
||||
cancelFriendRequest(user) {
|
||||
const id = this.resolveId(user);
|
||||
if (this.cache.get(id) !== RelationshipTypes.OUTGOING_REQUEST) return false;
|
||||
return this.__cancel(id);
|
||||
}
|
||||
|
||||
async __cancel(id) {
|
||||
await this.client.api.users['@me'].relationships[id].delete();
|
||||
return true;
|
||||
}
|
||||
|
14
typings/index.d.ts
vendored
14
typings/index.d.ts
vendored
@ -3916,12 +3916,14 @@ export class RelationshipsManager {
|
||||
private constructor(client: Client, users?: object[]);
|
||||
public cache: Collection<Snowflake, RelationshipTypes>;
|
||||
public client: Client;
|
||||
public fetch(user: UserResolvable, options?: BaseFetchOptions): Promise<User>;
|
||||
public deleteFriend(user: UserResolvable): Promise<User>;
|
||||
public deleteBlocked(user: UserResolvable): Promise<User>;
|
||||
public sendFriendRequest(username: string, discriminator: number): Promise<User>;
|
||||
public addFriend(user: UserResolvable): Promise<User>;
|
||||
public addBlocked(user: UserResolvable): Promise<User>;
|
||||
public fetch(user: UserResolvable, options?: BaseFetchOptions): Promise<RelationshipTypes>;
|
||||
public deleteFriend(user: UserResolvable): Promise<boolean>;
|
||||
public deleteBlocked(user: UserResolvable): Promise<boolean>;
|
||||
public sendFriendRequest(username: string, discriminator: number): Promise<boolean>;
|
||||
public cancelFriendRequest(user: UserResolvable): Promise<boolean>;
|
||||
public addFriend(user: UserResolvable): Promise<boolean>;
|
||||
public addBlocked(user: UserResolvable): Promise<boolean>;
|
||||
private __cancel(id: Snowflake): Promise<boolean>;
|
||||
}
|
||||
|
||||
export class VoiceStateManager extends CachedManager<Snowflake, VoiceState, typeof VoiceState> {
|
||||
|
Loading…
Reference in New Issue
Block a user