Change the way we create message tags to index model

This commit is contained in:
Kayky Ramos
2020-07-09 18:43:22 -03:00
parent fae06e86ac
commit 369c5d065e
3 changed files with 2555 additions and 10 deletions

View File

@@ -38,7 +38,9 @@ export function randomBytes(length) {
return Crypto.randomBytes(length)
}
export function promiseTimeout<T>(ms: number, promise: Promise<T>) {
if (!ms) { return promise }
if (!ms) {
return promise
}
// Create a promise that rejects in <ms> milliseconds
const timeout = new Promise((_, reject) => {
const id = setTimeout(() => {
@@ -49,8 +51,10 @@ export function promiseTimeout<T>(ms: number, promise: Promise<T>) {
return Promise.race([promise, timeout]) as Promise<T>
}
// whatsapp requires a message tag for every message, we just use the timestamp as one
export function generateMessageTag() {
return new Date().getTime().toString()
export function generateMessageTag(epoch?: number) {
let tag = new Date().getTime().toString()
if (epoch) tag += '-' + epoch // attach epoch if provided
return tag
}
// generate a random 16 byte client ID
export function generateClientID() {