From ddf70b02e7abf73dfb080d1d71c26fb126c65c22 Mon Sep 17 00:00:00 2001 From: chylex Date: Thu, 21 Dec 2023 04:44:00 +0100 Subject: [PATCH] Fix not storing channel topic and position if the channel is in a category Closes #232 --- app/Resources/Tracker/scripts/discord.js | 24 +++++++++++++++++++++--- app/Resources/Tracker/scripts/state.js | 3 +-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/Resources/Tracker/scripts/discord.js b/app/Resources/Tracker/scripts/discord.js index c787819..9ddb067 100644 --- a/app/Resources/Tracker/scripts/discord.js +++ b/app/Resources/Tracker/scripts/discord.js @@ -1,5 +1,23 @@ // noinspection JSUnresolvedVariable +// noinspection LocalVariableNamingConventionJS class DISCORD { + + // https://discord.com/developers/docs/resources/channel#channel-object-channel-types + static CHANNEL_TYPE = { + DM: 1, + GROUP_DM: 3, + ANNOUNCEMENT_THREAD: 10, + PUBLIC_THREAD: 11, + PRIVATE_THREAD: 12 + }; + + // https://discord.com/developers/docs/resources/channel#message-object-message-types + static MESSAGE_TYPE = { + DEFAULT: 0, + REPLY: 19, + THREAD_STARTER: 21 + }; + static getMessageOuterElement() { return DOM.queryReactClass("messagesWrapper"); } @@ -191,8 +209,8 @@ class DISCORD { // https://discord.com/developers/docs/resources/channel#channel-object-channel-types switch (obj.type) { - case 1: type = "DM"; break; - case 3: type = "GROUP"; break; + case DISCORD.CHANNEL_TYPE.DM: type = "DM"; break; + case DISCORD.CHANNEL_TYPE.GROUP_DM: type = "GROUP"; break; default: return null; } @@ -230,7 +248,7 @@ class DISCORD { } }; - if (obj.parent_id) { + if (obj.type === DISCORD.CHANNEL_TYPE.ANNOUNCEMENT_THREAD || obj.type === DISCORD.CHANNEL_TYPE.PUBLIC_THREAD || obj.type === DISCORD.CHANNEL_TYPE.PRIVATE_THREAD) { channel["extra"]["parent"] = obj.parent_id; } else { diff --git a/app/Resources/Tracker/scripts/state.js b/app/Resources/Tracker/scripts/state.js index 3761436..826550a 100644 --- a/app/Resources/Tracker/scripts/state.js +++ b/app/Resources/Tracker/scripts/state.js @@ -177,8 +177,7 @@ const STATE = (function() { * @param {DiscordMessage[]} discordMessageArray */ async addDiscordMessages(discordMessageArray) { - // https://discord.com/developers/docs/resources/channel#message-object-message-types - discordMessageArray = discordMessageArray.filter(msg => (msg.type === 0 || msg.type === 19 || msg.type === 21) && msg.state === "SENT"); + discordMessageArray = discordMessageArray.filter(msg => (msg.type === DISCORD.MESSAGE_TYPE.DEFAULT || msg.type === DISCORD.MESSAGE_TYPE.REPLY || msg.type === DISCORD.MESSAGE_TYPE.THREAD_STARTER) && msg.state === "SENT"); if (discordMessageArray.length === 0) { return false;