Devlog-Archiv: Filter akzeptiert auch Bot-Posts, Backfill-Report mit Absender-Aufschlüsselung
- devlog.py kann per Webhook ODER Bot-Token posten — beides wird jetzt archiviert (nur User-Chatter und der EcoBot selbst bleiben ausgeschlossen) - /devlog-backfill meldet jetzt Webhook/Bot/User-Zählung zur Diagnose Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -18,21 +18,27 @@ export async function execute(interaction) {
|
||||
}
|
||||
|
||||
// Historie rückwärts in 100er-Blöcken durchlaufen (Discord-API-Maximum pro Fetch)
|
||||
let scanned = 0;
|
||||
let saved = 0;
|
||||
let before;
|
||||
// Aufschlüsselung nach Absender-Typ — hilft bei der Diagnose, wenn nichts archiviert wird
|
||||
const counts = { webhook: 0, bot: 0, user: 0 };
|
||||
for (;;) {
|
||||
const batch = await channel.messages.fetch({ limit: 100, before });
|
||||
if (batch.size === 0) break;
|
||||
|
||||
for (const message of batch.values()) {
|
||||
scanned++;
|
||||
if (message.webhookId) counts.webhook++;
|
||||
else if (message.author?.bot) counts.bot++;
|
||||
else counts.user++;
|
||||
if (archiveDevlogMessage(message)) saved++;
|
||||
}
|
||||
before = batch.last().id;
|
||||
}
|
||||
|
||||
const scanned = counts.webhook + counts.bot + counts.user;
|
||||
await interaction.editReply(
|
||||
`✅ Backfill fertig: ${scanned} Nachrichten gescannt, **${saved} Devlogs neu archiviert**.`
|
||||
`✅ Backfill fertig: ${scanned} Nachrichten gescannt ` +
|
||||
`(${counts.webhook} Webhook, ${counts.bot} Bot, ${counts.user} User), ` +
|
||||
`**${saved} Devlogs neu archiviert**.`
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user