Replace message flags used for edit status w/ exact edit timestamp

Closes #66
This commit is contained in:
chylex 2019-09-06 07:18:54 +02:00
parent 21e3716d72
commit 0198c09d12
4 changed files with 14 additions and 8 deletions

View File

@ -26,6 +26,7 @@ e
a
t
d
te
author
id
username

View File

@ -25,6 +25,11 @@ var DISCORD = (function(){
return ext === ".png" || ext === ".gif" || ext === ".jpg" || ext === ".jpeg";
};
var getHumanReadableTime = function(timestamp){
var date = new Date(timestamp);
return date.toLocaleDateString() + ", " + date.toLocaleTimeString();
};
var templateChannelServer;
var templateChannelPrivate;
var templateMessage;
@ -52,7 +57,7 @@ var DISCORD = (function(){
templateMessage = new TEMPLATE([
"<div>",
"<h2><strong class='username'>{user.name}</strong><span class='info time'>{timestamp}</span>{edited}</h2>",
"<h2><strong class='username'>{user.name}</strong><span class='info time'>{timestamp}</span>{edit}</h2>",
"<div class='message'>{contents}{embeds}{attachments}</div>",
"</div>"
].join(""));
@ -95,8 +100,7 @@ var DISCORD = (function(){
getMessageHTML: function(message){
return templateMessage.apply(message, (property, value) => {
if (property === "timestamp"){
var date = new Date(value);
return date.toLocaleDateString()+", "+date.toLocaleTimeString();
return getHumanReadableTime(value);
}
else if (property === "contents"){
if (value.length === 0){
@ -165,8 +169,8 @@ var DISCORD = (function(){
}
}).join("");
}
else if (property === "edited"){
return value ? "<span class='info edited'>(edited)</span>" : "";
else if (property === "edit"){
return value ? "<span class='info edited'>(edited" + (value > 1 ? " " + getHumanReadableTime(value) : "") + ")</span>" : "";
}
});
}

View File

@ -139,7 +139,7 @@ var STATE = (function(){
"contents": message.m,
"embeds": message.e,
"attachments": message.a,
"edited": (message.f&1) === 1
"edit": ("te" in message) ? message.te : (message.f & 1) === 1
};
});
};

View File

@ -37,7 +37,8 @@
* u: <user index of the sender>,
* t: <message timestamp>,
* m: <message content>,
* f: <message flags>, // bit 1 = edited (omit for no flags),
* f: <message flags>, // only present if edited in which case it equals 1, deprecated (use 'te' instead),
* te: <edit timestamp>, // only present if edited,
* e: [ // omit for no embeds
* {
* url: <embed url>,
@ -169,7 +170,7 @@ class SAVEFILE{
};
if (discordMessage.editedTimestamp !== null){
obj.f = 1; // rewrite as bit flag if needed later
obj.te = +discordMessage.editedTimestamp.toDate();
}
if (discordMessage.embeds.length > 0){