parent
84b6842db0
commit
70cde7df55
15
src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js
Normal file
15
src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
'use strict';
|
||||||
|
const { Events } = require('../../../util/Constants');
|
||||||
|
module.exports = (client, packet) => {
|
||||||
|
/**
|
||||||
|
* Emitted whenever a recipient is added from a group DM.
|
||||||
|
* @event Client#channelRecipientAdd
|
||||||
|
* @param {PartialGroupDMChannel} channel Group DM channel
|
||||||
|
* @param {User} user User
|
||||||
|
*/
|
||||||
|
const channel = client.channels.cache.get(packet.d.channel_id);
|
||||||
|
if (!channel) return;
|
||||||
|
channel._recipients = channel._recipients.push(packet.d.user);
|
||||||
|
const user = client.users._add(packet.d.user);
|
||||||
|
client.emit(Events.CHANNEL_RECIPIENT_ADD, channel, user);
|
||||||
|
};
|
15
src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js
Normal file
15
src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
'use strict';
|
||||||
|
const { Events } = require('../../../util/Constants');
|
||||||
|
module.exports = (client, packet) => {
|
||||||
|
/**
|
||||||
|
* Emitted whenever a recipient is removed from a group DM.
|
||||||
|
* @event Client#channelRecipientRemove
|
||||||
|
* @param {PartialGroupDMChannel} channel Group DM channel
|
||||||
|
* @param {User} user User
|
||||||
|
*/
|
||||||
|
const channel = client.channels.cache.get(packet.d.channel_id);
|
||||||
|
if (!channel) return;
|
||||||
|
channel._recipients = channel._recipients.filter(r => r !== packet.d.user.id);
|
||||||
|
const user = client.users._add(packet.d.user);
|
||||||
|
client.emit(Events.CHANNEL_RECIPIENT_REMOVE, channel, user);
|
||||||
|
};
|
@ -4,6 +4,7 @@ const { Events, RelationshipTypes } = require('../../../util/Constants');
|
|||||||
|
|
||||||
module.exports = (client, { d: data }) => {
|
module.exports = (client, { d: data }) => {
|
||||||
client.relationships.cache.delete(data.id);
|
client.relationships.cache.delete(data.id);
|
||||||
|
client.user.friendNicknames.delete(data.id);
|
||||||
/**
|
/**
|
||||||
* Emitted whenever a relationship is delete.
|
* Emitted whenever a relationship is delete.
|
||||||
* @event Client#relationshipRemove
|
* @event Client#relationshipRemove
|
||||||
|
18
src/client/websocket/handlers/RELATIONSHIP_UPDATE.js
Normal file
18
src/client/websocket/handlers/RELATIONSHIP_UPDATE.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const { Events, RelationshipTypes } = require('../../../util/Constants');
|
||||||
|
|
||||||
|
module.exports = (client, { d: data }) => {
|
||||||
|
client.relationships.cache.set(data.id, data.type);
|
||||||
|
/**
|
||||||
|
* Emitted whenever a relationship is updated.
|
||||||
|
* @event Client#relationshipUpdate
|
||||||
|
* @param {Snowflake} user The userID that was updated
|
||||||
|
* @param {RelationshipTypes} type The new relationship type
|
||||||
|
* @param {Object} data The raw data
|
||||||
|
*/
|
||||||
|
if ('nickname' in data) {
|
||||||
|
client.user.friendNicknames.set(data.id, data.nickname);
|
||||||
|
}
|
||||||
|
client.emit(Events.RELATIONSHIP_UPDATE, data.id, RelationshipTypes[data.type], data);
|
||||||
|
};
|
@ -5,6 +5,7 @@ const handlers = Object.fromEntries([
|
|||||||
['RESUMED', require('./RESUMED')],
|
['RESUMED', require('./RESUMED')],
|
||||||
['RELATIONSHIP_ADD', require('./RELATIONSHIP_ADD')],
|
['RELATIONSHIP_ADD', require('./RELATIONSHIP_ADD')],
|
||||||
['RELATIONSHIP_REMOVE', require('./RELATIONSHIP_REMOVE')],
|
['RELATIONSHIP_REMOVE', require('./RELATIONSHIP_REMOVE')],
|
||||||
|
['RELATIONSHIP_UPDATE', require('./RELATIONSHIP_UPDATE')],
|
||||||
['APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE', require('./APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE')],
|
['APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE', require('./APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE')],
|
||||||
['APPLICATION_COMMAND_CREATE', require('./APPLICATION_COMMAND_CREATE')],
|
['APPLICATION_COMMAND_CREATE', require('./APPLICATION_COMMAND_CREATE')],
|
||||||
['APPLICATION_COMMAND_DELETE', require('./APPLICATION_COMMAND_DELETE')],
|
['APPLICATION_COMMAND_DELETE', require('./APPLICATION_COMMAND_DELETE')],
|
||||||
@ -34,6 +35,8 @@ const handlers = Object.fromEntries([
|
|||||||
['CHANNEL_DELETE', require('./CHANNEL_DELETE')],
|
['CHANNEL_DELETE', require('./CHANNEL_DELETE')],
|
||||||
['CHANNEL_UPDATE', require('./CHANNEL_UPDATE')],
|
['CHANNEL_UPDATE', require('./CHANNEL_UPDATE')],
|
||||||
['CHANNEL_PINS_UPDATE', require('./CHANNEL_PINS_UPDATE')],
|
['CHANNEL_PINS_UPDATE', require('./CHANNEL_PINS_UPDATE')],
|
||||||
|
['CHANNEL_RECIPIENT_ADD', require('./CHANNEL_RECIPIENT_ADD')],
|
||||||
|
['CHANNEL_RECIPIENT_REMOVE', require('./CHANNEL_RECIPIENT_REMOVE')],
|
||||||
['MESSAGE_ACK', require('./MESSAGE_ACK')],
|
['MESSAGE_ACK', require('./MESSAGE_ACK')],
|
||||||
['MESSAGE_CREATE', require('./MESSAGE_CREATE')],
|
['MESSAGE_CREATE', require('./MESSAGE_CREATE')],
|
||||||
['MESSAGE_DELETE', require('./MESSAGE_DELETE')],
|
['MESSAGE_DELETE', require('./MESSAGE_DELETE')],
|
||||||
|
@ -91,6 +91,7 @@ class RelationshipManager {
|
|||||||
_setup(users) {
|
_setup(users) {
|
||||||
if (!Array.isArray(users)) return;
|
if (!Array.isArray(users)) return;
|
||||||
for (const relationShip of users) {
|
for (const relationShip of users) {
|
||||||
|
this.client.user.friendNicknames.set(relationShip.id, relationShip.nickname);
|
||||||
this.cache.set(relationShip.id, relationShip.type);
|
this.cache.set(relationShip.id, relationShip.type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,6 +212,23 @@ class RelationshipManager {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes the nickname of a friend.
|
||||||
|
* @param {UserResolvable} user The user to change the nickname
|
||||||
|
* @param {?string} nickname New nickname
|
||||||
|
* @returns {Promise<boolean>}
|
||||||
|
*/
|
||||||
|
async setNickname(user, nickname) {
|
||||||
|
const id = this.resolveId(user);
|
||||||
|
if (this.cache.get(id) !== RelationshipTypes.FRIEND) return false;
|
||||||
|
await this.client.api.users['@me'].relationships[id].patch({
|
||||||
|
data: {
|
||||||
|
nickname: typeof nickname === 'string' ? nickname : null,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blocks a user.
|
* Blocks a user.
|
||||||
* @param {UserResolvable} user User to block
|
* @param {UserResolvable} user User to block
|
||||||
|
@ -115,7 +115,7 @@ class ClientApplication extends Application {
|
|||||||
*/
|
*/
|
||||||
this.popularCommands = new Collection();
|
this.popularCommands = new Collection();
|
||||||
data.popular_application_command_ids.forEach(id => {
|
data.popular_application_command_ids.forEach(id => {
|
||||||
this.popularCommands.set(id, this.commands.cache.get(id));
|
this.popularCommands.set(id, this.commands?.cache?.get(id));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,10 +147,11 @@ class ClientApplication extends Application {
|
|||||||
const app = await this.client.api.oauth2.authorize.get({
|
const app = await this.client.api.oauth2.authorize.get({
|
||||||
query: {
|
query: {
|
||||||
client_id: this.id,
|
client_id: this.id,
|
||||||
scope: 'bot',
|
scope: 'bot applications.commands',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
this.client.users._add(app.bot);
|
const user = this.client.users._add(app.bot);
|
||||||
|
user._partial = false;
|
||||||
this._patch(app.application);
|
this._patch(app.application);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -77,6 +77,13 @@ class ClientUser extends User {
|
|||||||
if ('bio' in data) {
|
if ('bio' in data) {
|
||||||
this.bio = data.bio;
|
this.bio = data.bio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The friend nicknames cache of the client user.
|
||||||
|
* @type {Collection<Snowflake, string>}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.friendNicknames = new Collection();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,12 +29,6 @@ class PartialGroupDMChannel extends Channel {
|
|||||||
*/
|
*/
|
||||||
this.icon = null;
|
this.icon = null;
|
||||||
|
|
||||||
/**
|
|
||||||
* The recipients of this Group DM Channel.
|
|
||||||
* @type {Collection<Snowflake, User>}
|
|
||||||
*/
|
|
||||||
this.recipients = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Messages data
|
* Messages data
|
||||||
* @type {Collection}
|
* @type {Collection}
|
||||||
@ -68,6 +62,18 @@ class PartialGroupDMChannel extends Channel {
|
|||||||
this._patch(data);
|
this._patch(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The recipients of this Group DM Channel.
|
||||||
|
* @type {Collection<Snowflake, User>}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
get recipients() {
|
||||||
|
const collect = new Collection();
|
||||||
|
this._recipients.map(recipient => collect.set(recipient.id, this.client.users._add(recipient)));
|
||||||
|
collect.set(this.client.user.id, this.client.user);
|
||||||
|
return collect;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The owner of this Group DM Channel
|
* The owner of this Group DM Channel
|
||||||
* @type {?User}
|
* @type {?User}
|
||||||
@ -85,8 +91,7 @@ class PartialGroupDMChannel extends Channel {
|
|||||||
_patch(data) {
|
_patch(data) {
|
||||||
super._patch(data);
|
super._patch(data);
|
||||||
if ('recipients' in data) {
|
if ('recipients' in data) {
|
||||||
this.recipients = new Collection();
|
this._recipients = data.recipients;
|
||||||
data.recipients.map(recipient => this.recipients.set(recipient.id, this.client.users._add(recipient)));
|
|
||||||
}
|
}
|
||||||
if ('last_pin_timestamp' in data) {
|
if ('last_pin_timestamp' in data) {
|
||||||
const date = new Date(data.last_pin_timestamp);
|
const date = new Date(data.last_pin_timestamp);
|
||||||
|
@ -196,6 +196,15 @@ class User extends Base {
|
|||||||
return this.client.user.notes.get(this.id);
|
return this.client.user.notes.get(this.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get friend nickname
|
||||||
|
* @type {?string}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
get nickname() {
|
||||||
|
return this.client.user.friendNicknames.get(this.id);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The voice state of this member
|
* The voice state of this member
|
||||||
* @type {VoiceState}
|
* @type {VoiceState}
|
||||||
@ -282,6 +291,16 @@ class User extends Base {
|
|||||||
return this.client.relationships.addFriend(this);
|
return this.client.relationships.addFriend(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes the nickname of the friend
|
||||||
|
* @param {?string} nickname The nickname to change
|
||||||
|
* @type {boolean}
|
||||||
|
* @returns {Promise<boolean>}
|
||||||
|
*/
|
||||||
|
setNickname(nickname) {
|
||||||
|
return this.client.user.setNickname(this.id, nickname);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send Friend Request to the user
|
* Send Friend Request to the user
|
||||||
* @type {boolean}
|
* @type {boolean}
|
||||||
|
@ -358,6 +358,8 @@ exports.Opcodes = {
|
|||||||
* * CHANNEL_DELETE: channelDelete
|
* * CHANNEL_DELETE: channelDelete
|
||||||
* * CHANNEL_UPDATE: channelUpdate
|
* * CHANNEL_UPDATE: channelUpdate
|
||||||
* * CHANNEL_PINS_UPDATE: channelPinsUpdate
|
* * CHANNEL_PINS_UPDATE: channelPinsUpdate
|
||||||
|
* * CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove
|
||||||
|
* * CHANNEL_RECIPIENT_ADD: channelRecipientAdd
|
||||||
* * MESSAGE_ACK: messageAck
|
* * MESSAGE_ACK: messageAck
|
||||||
* * MESSAGE_CREATE: messageCreate
|
* * MESSAGE_CREATE: messageCreate
|
||||||
* * MESSAGE_DELETE: messageDelete
|
* * MESSAGE_DELETE: messageDelete
|
||||||
@ -443,6 +445,8 @@ exports.Events = {
|
|||||||
CHANNEL_DELETE: 'channelDelete',
|
CHANNEL_DELETE: 'channelDelete',
|
||||||
CHANNEL_UPDATE: 'channelUpdate',
|
CHANNEL_UPDATE: 'channelUpdate',
|
||||||
CHANNEL_PINS_UPDATE: 'channelPinsUpdate',
|
CHANNEL_PINS_UPDATE: 'channelPinsUpdate',
|
||||||
|
CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove',
|
||||||
|
CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd',
|
||||||
MESSAGE_ACK: 'messageAck',
|
MESSAGE_ACK: 'messageAck',
|
||||||
MESSAGE_CREATE: 'messageCreate',
|
MESSAGE_CREATE: 'messageCreate',
|
||||||
MESSAGE_DELETE: 'messageDelete',
|
MESSAGE_DELETE: 'messageDelete',
|
||||||
@ -493,6 +497,7 @@ exports.Events = {
|
|||||||
GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove',
|
GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove',
|
||||||
RELATIONSHIP_ADD: 'relationshipAdd',
|
RELATIONSHIP_ADD: 'relationshipAdd',
|
||||||
RELATIONSHIP_REMOVE: 'relationshipRemove',
|
RELATIONSHIP_REMOVE: 'relationshipRemove',
|
||||||
|
RELATIONSHIP_UPDATE: 'relationshipUpdate',
|
||||||
UNHANDLED_PACKET: 'unhandledPacket',
|
UNHANDLED_PACKET: 'unhandledPacket',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
13
typings/index.d.ts
vendored
13
typings/index.d.ts
vendored
@ -924,6 +924,8 @@ export class ClientUser extends User {
|
|||||||
public mfaEnabled: boolean;
|
public mfaEnabled: boolean;
|
||||||
public readonly presence: ClientPresence;
|
public readonly presence: ClientPresence;
|
||||||
public verified: boolean;
|
public verified: boolean;
|
||||||
|
public notes: Collection<Snowflake, string>;
|
||||||
|
public friendNicknames: Collection<Snowflake, string>;
|
||||||
public edit(data: ClientUserEditData): Promise<this>;
|
public edit(data: ClientUserEditData): Promise<this>;
|
||||||
public setActivity(options?: ActivityOptions): ClientPresence;
|
public setActivity(options?: ActivityOptions): ClientPresence;
|
||||||
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
||||||
@ -2347,7 +2349,7 @@ export class PartialGroupDMChannel extends TextBasedChannelMixin(Channel, [
|
|||||||
private constructor(client: Client, data: RawPartialGroupDMChannelData);
|
private constructor(client: Client, data: RawPartialGroupDMChannelData);
|
||||||
public name: string | null;
|
public name: string | null;
|
||||||
public icon: string | null;
|
public icon: string | null;
|
||||||
public recipients: Collection<Snowflake, User>;
|
public readonly recipients: Collection<Snowflake, User>;
|
||||||
public messages: MessageManager;
|
public messages: MessageManager;
|
||||||
public invites: Collection<string, Invite>;
|
public invites: Collection<string, Invite>;
|
||||||
public lastMessageId: Snowflake | null;
|
public lastMessageId: Snowflake | null;
|
||||||
@ -2964,6 +2966,7 @@ export class User extends PartialTextBasedChannel(Base) {
|
|||||||
public readonly tag: string;
|
public readonly tag: string;
|
||||||
public username: string;
|
public username: string;
|
||||||
public readonly note: string | null;
|
public readonly note: string | null;
|
||||||
|
public readonly nickname: string | null;
|
||||||
public readonly connectedAccounts: object[];
|
public readonly connectedAccounts: object[];
|
||||||
public readonly premiumSince: Date;
|
public readonly premiumSince: Date;
|
||||||
public readonly premiumGuildSince: Date;
|
public readonly premiumGuildSince: Date;
|
||||||
@ -2985,6 +2988,7 @@ export class User extends PartialTextBasedChannel(Base) {
|
|||||||
public unBlock(): Promise<User>;
|
public unBlock(): Promise<User>;
|
||||||
public setNote(note?: any): Promise<string>;
|
public setNote(note?: any): Promise<string>;
|
||||||
public getProfile(guildId?: Snowflake): Promise<User>;
|
public getProfile(guildId?: Snowflake): Promise<User>;
|
||||||
|
public setNickname(nickname: string | null): Promise<boolean>;
|
||||||
public toString(): UserMention;
|
public toString(): UserMention;
|
||||||
public ring(): Promise<boolean>;
|
public ring(): Promise<boolean>;
|
||||||
}
|
}
|
||||||
@ -4014,6 +4018,7 @@ export class RelationshipManager {
|
|||||||
public cancelFriendRequest(user: UserResolvable): Promise<boolean>;
|
public cancelFriendRequest(user: UserResolvable): Promise<boolean>;
|
||||||
public addFriend(user: UserResolvable): Promise<boolean>;
|
public addFriend(user: UserResolvable): Promise<boolean>;
|
||||||
public addBlocked(user: UserResolvable): Promise<boolean>;
|
public addBlocked(user: UserResolvable): Promise<boolean>;
|
||||||
|
public setNickname(user: UserResolvable, nickname: string|null): Promise<boolean>;
|
||||||
private __cancel(id: Snowflake): Promise<boolean>;
|
private __cancel(id: Snowflake): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4332,6 +4337,8 @@ export interface ClientEvents extends BaseClientEvents {
|
|||||||
channelCreate: [channel: NonThreadGuildBasedChannel];
|
channelCreate: [channel: NonThreadGuildBasedChannel];
|
||||||
channelDelete: [channel: DMChannel | NonThreadGuildBasedChannel];
|
channelDelete: [channel: DMChannel | NonThreadGuildBasedChannel];
|
||||||
channelPinsUpdate: [channel: TextBasedChannel, date: Date];
|
channelPinsUpdate: [channel: TextBasedChannel, date: Date];
|
||||||
|
channelRecipientAdd: [channel: PartialGroupDMChannel, user: User];
|
||||||
|
channelRecipientRemove: [channel: PartialGroupDMChannel, user: User];
|
||||||
channelUpdate: [
|
channelUpdate: [
|
||||||
oldChannel: DMChannel | NonThreadGuildBasedChannel,
|
oldChannel: DMChannel | NonThreadGuildBasedChannel,
|
||||||
newChannel: DMChannel | NonThreadGuildBasedChannel,
|
newChannel: DMChannel | NonThreadGuildBasedChannel,
|
||||||
@ -4425,6 +4432,7 @@ export interface ClientEvents extends BaseClientEvents {
|
|||||||
guildScheduledEventUserRemove: [guildScheduledEvent: GuildScheduledEvent, user: User];
|
guildScheduledEventUserRemove: [guildScheduledEvent: GuildScheduledEvent, user: User];
|
||||||
relationshipAdd: [id: Snowflake, type: RelationshipTypes];
|
relationshipAdd: [id: Snowflake, type: RelationshipTypes];
|
||||||
relationshipRemove: [id: Snowflake];
|
relationshipRemove: [id: Snowflake];
|
||||||
|
relationshipUpdate: [id: Snowflake, type: RelationshipTypes, data: object];
|
||||||
unhandledPacket: [packet: { op: GatewayOpcodes | number; d?: any; s?: number; t?: string }, shard: WebSocketShard];
|
unhandledPacket: [packet: { op: GatewayOpcodes | number; d?: any; s?: number; t?: string }, shard: WebSocketShard];
|
||||||
update: [oldVersion: string, newVersion: string];
|
update: [oldVersion: string, newVersion: string];
|
||||||
}
|
}
|
||||||
@ -4470,6 +4478,8 @@ export interface ConstantsEvents {
|
|||||||
CHANNEL_DELETE: 'channelDelete';
|
CHANNEL_DELETE: 'channelDelete';
|
||||||
CHANNEL_UPDATE: 'channelUpdate';
|
CHANNEL_UPDATE: 'channelUpdate';
|
||||||
CHANNEL_PINS_UPDATE: 'channelPinsUpdate';
|
CHANNEL_PINS_UPDATE: 'channelPinsUpdate';
|
||||||
|
CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd';
|
||||||
|
CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove';
|
||||||
MESSAGE_ACK: 'messageAck';
|
MESSAGE_ACK: 'messageAck';
|
||||||
MESSAGE_CREATE: 'messageCreate';
|
MESSAGE_CREATE: 'messageCreate';
|
||||||
MESSAGE_DELETE: 'messageDelete';
|
MESSAGE_DELETE: 'messageDelete';
|
||||||
@ -4520,6 +4530,7 @@ export interface ConstantsEvents {
|
|||||||
GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove';
|
GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove';
|
||||||
RELATIONSHIP_ADD: 'relationshipAdd';
|
RELATIONSHIP_ADD: 'relationshipAdd';
|
||||||
RELATIONSHIP_REMOVE: 'relationshipRemove';
|
RELATIONSHIP_REMOVE: 'relationshipRemove';
|
||||||
|
RELATIONSHIP_UPDATE: 'relationshipUpdate';
|
||||||
UNHANDLED_PACKET: 'unhandledPacket';
|
UNHANDLED_PACKET: 'unhandledPacket';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user