mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
User settings (#1337)
* user settings bruh * remove development dump * emit stuff * i am so done * Update ClientUserSettings.js * modularize * Update ClientUserSettings.js * Update Constants.js * Update ClientUserSettings.js * Update RESTMethods.js * Update ClientUserSettings.js * <.<
This commit is contained in:
@@ -49,7 +49,8 @@ class ClientManager {
|
||||
* @param {number} time The interval in milliseconds at which heartbeat packets should be sent
|
||||
*/
|
||||
setupKeepAlive(time) {
|
||||
this.heartbeatInterval = this.client.setInterval(() => this.client.ws.heartbeat(true), time);
|
||||
this.heartbeatInterval = time;
|
||||
this.client.setInterval(() => this.client.ws.heartbeat(true), time);
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
@@ -876,6 +876,10 @@ class RESTMethods {
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
patchUserSettings(data) {
|
||||
return this.rest.makeRequest('patch', Constants.Endpoints.User('@me').settings, true, data);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = RESTMethods;
|
||||
|
||||
@@ -36,6 +36,7 @@ class WebSocketPacketManager {
|
||||
this.register(Constants.WSEvents.PRESENCE_UPDATE, require('./handlers/PresenceUpdate'));
|
||||
this.register(Constants.WSEvents.USER_UPDATE, require('./handlers/UserUpdate'));
|
||||
this.register(Constants.WSEvents.USER_NOTE_UPDATE, require('./handlers/UserNoteUpdate'));
|
||||
this.register(Constants.WSEvents.USER_SETTINGS_UPDATE, require('./handlers/UserSettingsUpdate'));
|
||||
this.register(Constants.WSEvents.VOICE_STATE_UPDATE, require('./handlers/VoiceStateUpdate'));
|
||||
this.register(Constants.WSEvents.TYPING_START, require('./handlers/TypingStart'));
|
||||
this.register(Constants.WSEvents.MESSAGE_CREATE, require('./handlers/MessageCreate'));
|
||||
|
||||
@@ -9,8 +9,9 @@ class ReadyHandler extends AbstractHandler {
|
||||
|
||||
client.ws.heartbeat();
|
||||
|
||||
data.user.user_settings = data.user_settings;
|
||||
|
||||
const clientUser = new ClientUser(client, data.user);
|
||||
clientUser.settings = data.user_settings;
|
||||
client.user = clientUser;
|
||||
client.readyAt = new Date();
|
||||
client.users.set(clientUser.id, clientUser);
|
||||
|
||||
18
src/client/websocket/packets/handlers/UserSettingsUpdate.js
Normal file
18
src/client/websocket/packets/handlers/UserSettingsUpdate.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const AbstractHandler = require('./AbstractHandler');
|
||||
const Constants = require('../../../../util/Constants');
|
||||
|
||||
class UserSettingsUpdateHandler extends AbstractHandler {
|
||||
handle(packet) {
|
||||
const client = this.packetManager.client;
|
||||
client.user.settings.patch(packet.d);
|
||||
client.emit(Constants.Events.USER_SETTINGS_UPDATE, client.user.settings);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Emitted when the client user's settings update
|
||||
* @event Client#clientUserSettingsUpdate
|
||||
* @param {ClientUserSettings} clientUserSettings The new client user settings
|
||||
*/
|
||||
|
||||
module.exports = UserSettingsUpdateHandler;
|
||||
Reference in New Issue
Block a user