Files
custom_discordjs/structures/client/handleEvents.js
T

39 lines
1.4 KiB
JavaScript
Raw Normal View History

import gateWayEvents from '../gateway/dispatch.js'
import { message } from '../messages/message.js';
import {Interaction} from '../interactions/interaction.js';
import Guild from '../guilds/Guild.js';
2023-03-18 18:02:17 -04:00
/**
* @description Returns true if this is a READY event and false otherwise
* @param {Object} msg
* @returns {Promise<Boolean>}
*/
export default async function handleEvents(msgObj, token, id) {
2023-03-18 18:02:17 -04:00
return new Promise((resolve, reject) => {
const op = msgObj["op"];
const t = msgObj["t"];
if (op == 10) return resolve({op: op, heartBeat: msgObj["d"]["heartbeat_interval"]});
2023-03-24 20:32:27 -04:00
else if (op != 0) { resolve(false); }
else if (t == gateWayEvents.Ready) {
resolve({op: op, t: t, config: msgObj["d"]["user_settings"], profile: msgObj["d"]["user"]}); //, guilds: msgObj["d"]["guilds"]
2023-03-20 12:45:20 -04:00
}
else if (t == gateWayEvents.MessageCreate) {
const msg = new message(msgObj["d"], token);
2023-03-18 18:02:17 -04:00
resolve({op: op, t: t, message: msg});
}
2023-03-20 12:45:20 -04:00
else if (t == gateWayEvents.InteractionCreate) {
resolve({op: op, t: t, interaction: new Interaction(msgObj["d"], token, id)});
}
2023-03-24 20:32:27 -04:00
else if (t == gateWayEvents.GuildCreate) {
resolve({op: op, t: t, guild: new Guild(msgObj["d"], token)});
}
2023-03-18 18:02:17 -04:00
else {
// console.log(t);
}
});
}