Update discord-quest.js from upstream gist
This commit is contained in:
+7
-9
@@ -31,24 +31,22 @@ if(quests.length === 0) {
|
|||||||
let secondsDone = quest.userStatus?.progress?.[taskName]?.value ?? 0
|
let secondsDone = quest.userStatus?.progress?.[taskName]?.value ?? 0
|
||||||
|
|
||||||
if(taskName === "WATCH_VIDEO" || taskName === "WATCH_VIDEO_ON_MOBILE") {
|
if(taskName === "WATCH_VIDEO" || taskName === "WATCH_VIDEO_ON_MOBILE") {
|
||||||
const maxFuture = 10, speed = 7, interval = 1
|
const speed = 7
|
||||||
const enrolledAt = new Date(quest.userStatus.enrolledAt).getTime()
|
const enrolledAt = new Date(quest.userStatus.enrolledAt).getTime()
|
||||||
let completed = false
|
let completed = false
|
||||||
let fn = async () => {
|
let fn = async () => {
|
||||||
while(true) {
|
while(true) {
|
||||||
const maxAllowed = Math.floor((Date.now() - enrolledAt)/1000) + maxFuture
|
const remaining = Math.min(speed, secondsNeeded - secondsDone)
|
||||||
const diff = maxAllowed - secondsDone
|
await new Promise(resolve => setTimeout(resolve, remaining * 1000))
|
||||||
|
|
||||||
const timestamp = secondsDone + speed
|
const timestamp = secondsDone + speed
|
||||||
if(diff >= speed) {
|
const res = await api.post({url: `/quests/${quest.id}/video-progress`, body: {timestamp: Math.min(secondsNeeded, timestamp + Math.random())}})
|
||||||
const res = await api.post({url: `/quests/${quest.id}/video-progress`, body: {timestamp: Math.min(secondsNeeded, timestamp + Math.random())}})
|
completed = res.body.completed_at != null
|
||||||
completed = res.body.completed_at != null
|
secondsDone = Math.min(secondsNeeded, timestamp)
|
||||||
secondsDone = Math.min(secondsNeeded, timestamp)
|
|
||||||
}
|
|
||||||
|
|
||||||
if(timestamp >= secondsNeeded) {
|
if(timestamp >= secondsNeeded) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
await new Promise(resolve => setTimeout(resolve, interval * 1000))
|
|
||||||
}
|
}
|
||||||
if(!completed) {
|
if(!completed) {
|
||||||
await api.post({url: `/quests/${quest.id}/video-progress`, body: {timestamp: secondsNeeded}})
|
await api.post({url: `/quests/${quest.id}/video-progress`, body: {timestamp: secondsNeeded}})
|
||||||
|
|||||||
Reference in New Issue
Block a user