mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-04-18 09:17:37 +03:00
Add a function to get loaded messages from UI instead of AJAX response
This commit is contained in:
parent
a11a874d51
commit
b9f8bbc8d3
src/tracker
@ -10,7 +10,7 @@ var DISCORD = (function(){
|
||||
var match = args[1].match(regexMessageRequest);
|
||||
|
||||
if (match){
|
||||
callback(match[1], JSON.parse(req.response));
|
||||
callback(match[1]);
|
||||
}
|
||||
});
|
||||
},
|
||||
@ -80,6 +80,25 @@ var DISCORD = (function(){
|
||||
return obj.channel.length === 0 ? null : obj;
|
||||
},
|
||||
|
||||
/*
|
||||
* Returns an array containing currently loaded messages.
|
||||
*/
|
||||
getMessages: function(){
|
||||
var props = DISCORD.getReactProps(DOM.fcls("messages"));
|
||||
var array = props && props.children.find(ele => ele && ele.length);
|
||||
var messages = [];
|
||||
|
||||
if (array){
|
||||
for(let obj of array){
|
||||
if (obj.props.messages){
|
||||
Array.prototype.push.apply(messages, obj.props.messages);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return messages;
|
||||
},
|
||||
|
||||
/*
|
||||
* Returns true if the message column is visible.
|
||||
*/
|
||||
|
@ -160,24 +160,12 @@ SAVEFILE.prototype.addMessage = function(channelId, messageId, messageObject){
|
||||
SAVEFILE.prototype.convertToMessageObject = function(discordMessage){
|
||||
var obj = {
|
||||
u: this.findOrRegisterUser(discordMessage.author.id, discordMessage.author.username),
|
||||
t: +Date.parse(discordMessage.timestamp),
|
||||
t: +discordMessage.timestamp.toDate(),
|
||||
m: discordMessage.content
|
||||
};
|
||||
|
||||
var flags = 0;
|
||||
|
||||
if (discordMessage.edited_timestamp !== null){
|
||||
flags |= 1;
|
||||
}
|
||||
|
||||
if (discordMessage.mentions.length > 0){
|
||||
for(var user of discordMessage.mentions){
|
||||
this.findOrRegisterUser(user.id, user.username);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags !== 0){
|
||||
obj.f = flags;
|
||||
if (discordMessage.editedTimestamp !== null){
|
||||
obj.f = 1; // rewrite as bit flag if needed later
|
||||
}
|
||||
|
||||
if (discordMessage.embeds.length > 0){
|
||||
|
@ -23,13 +23,13 @@ if (DISCORD.getSelectedChannel()){
|
||||
var cachedRequest;
|
||||
var untrackedRequests = 0;
|
||||
|
||||
DISCORD.setupMessageRequestHook((channel, messages) => {
|
||||
DISCORD.setupMessageRequestHook(channel => {
|
||||
if (STATE.isTracking()){
|
||||
var info = DISCORD.getSelectedChannel();
|
||||
|
||||
if (info.id == channel){ // Discord has a bug where the message request may be sent without switching channels
|
||||
STATE.addDiscordChannel(info.server, info.type, channel, info.channel);
|
||||
var hasUpdatedFile = STATE.addDiscordMessages(channel, messages);
|
||||
var hasUpdatedFile = STATE.addDiscordMessages(channel, DISCORD.getMessages());
|
||||
|
||||
if (SETTINGS.autoscroll){
|
||||
DOM.setTimer(() => {
|
||||
@ -57,7 +57,7 @@ DISCORD.setupMessageRequestHook((channel, messages) => {
|
||||
|
||||
cachedRequest = {
|
||||
"channel": channel,
|
||||
"messages": messages
|
||||
"messages": DISCORD.getMessages()
|
||||
};
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user