dankgrinder 7.58.0 → 7.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/grinder.js +6 -5
- package/package.json +1 -1
package/lib/grinder.js
CHANGED
|
@@ -586,7 +586,7 @@ function renderDashboard() {
|
|
|
586
586
|
|
|
587
587
|
for (const wk of visibleWorkers) {
|
|
588
588
|
const origNum = (wk.idx + 1).toString().padStart(colNum);
|
|
589
|
-
const rawStat = (wk.lastStatus || '
|
|
589
|
+
const rawStat = (wk.lastStatus || 'ready').replace(RE, '');
|
|
590
590
|
const activityText = rawStat.substring(0, colActivity);
|
|
591
591
|
|
|
592
592
|
// ── Status icon ──
|
|
@@ -1133,6 +1133,7 @@ class AccountWorker {
|
|
|
1133
1133
|
this.lastRunTime = {};
|
|
1134
1134
|
this.cycleCount = 0;
|
|
1135
1135
|
this.lastCommandRun = 0;
|
|
1136
|
+
this.lastStatus = 'ready';
|
|
1136
1137
|
this.paused = false;
|
|
1137
1138
|
this.dashboardPaused = false;
|
|
1138
1139
|
this._sellRunning = false;
|
|
@@ -3646,12 +3647,12 @@ async function start(apiKey, apiUrl, opts = {}) {
|
|
|
3646
3647
|
parts.push(`${D}${pulse}♥?${c.reset}`);
|
|
3647
3648
|
}
|
|
3648
3649
|
if (parts.length > 0) {
|
|
3649
|
-
|
|
3650
|
+
recentLogs.push({ ts: Date.now(), username: w.username, color: w.color, command: 'dm check', response: parts.join(' '), status: 'ok' });
|
|
3650
3651
|
}
|
|
3651
3652
|
} catch {}
|
|
3652
3653
|
}
|
|
3653
3654
|
if (dmNoLs.length > 0) {
|
|
3654
|
-
|
|
3655
|
+
recentLogs.push({ ts: Date.now(), username: 'system', color: rgb(239, 68, 68), command: 'dm check', response: `⚠ No lifesavers: ${dmNoLs.join(', ')}`, status: 'warn' });
|
|
3655
3656
|
// Set Redis keys to block crime/search
|
|
3656
3657
|
for (const w of activeWorkers) {
|
|
3657
3658
|
if (dmNoLs.includes(w.username) && redis) {
|
|
@@ -3663,7 +3664,7 @@ async function start(apiKey, apiUrl, opts = {}) {
|
|
|
3663
3664
|
}
|
|
3664
3665
|
}
|
|
3665
3666
|
if (dmUnknown.length > 0) {
|
|
3666
|
-
|
|
3667
|
+
recentLogs.push({ ts: Date.now(), username: 'system', color: rgb(251, 191, 36), command: 'dm check', response: `⚠ Lifesavers unknown — live monitor: ${dmUnknown.join(', ')}`, status: 'warn' });
|
|
3667
3668
|
// Crime/search on these accounts will be skipped via safety hold until the live
|
|
3668
3669
|
// DM gateway listener detects a death (→ sets count) or confirms clean.
|
|
3669
3670
|
}
|
|
@@ -3671,7 +3672,7 @@ async function start(apiKey, apiUrl, opts = {}) {
|
|
|
3671
3672
|
if (dmDeaths > 0) dmSummaryParts.push(`${dmDeaths} deaths`);
|
|
3672
3673
|
if (dmLevelUps > 0) dmSummaryParts.push(`${dmLevelUps} level-ups`);
|
|
3673
3674
|
if (dmUnknown.length > 0) dmSummaryParts.push(`${dmUnknown.length} pending`);
|
|
3674
|
-
|
|
3675
|
+
recentLogs.push({ ts: Date.now(), username: 'system', color: rgb(52, 211, 153), command: 'dm check', response: dmSummaryParts.length > 0 ? dmSummaryParts.join(', ') : 'clean — no deaths or level-ups', status: 'ok' });
|
|
3675
3676
|
console.log('');
|
|
3676
3677
|
|
|
3677
3678
|
console.log(` ${rgb(139, 92, 246)}${c.bold}>>>${c.reset} ${gradientText('Starting grind loops...', [139, 92, 246], [52, 211, 153])}`);
|