fix : no startup sync

This commit is contained in:
2026-09-10 19:24:42 +07:00 Unverified
parent 89be58c517
commit cc0757d0a0
3 changed files with 18 additions and 23 deletions
+5 -18
View File
@@ -1,5 +1,4 @@
import {
ChannelType,
Client,
Events,
GatewayIntentBits,
@@ -144,10 +143,10 @@ async function drain(): Promise<void> {
}
}
function enqueue(version: string, source: "history" | "message"): void {
function enqueue(version: string): void {
if (!pendingVersion || compareLunarisVersions(version, pendingVersion) > 0) {
pendingVersion = version;
log("version_queued", { version, source });
log("version_queued", { version, source: "message" });
}
if (!runner) {
runner = drain().finally(() => {
@@ -156,13 +155,13 @@ function enqueue(version: string, source: "history" | "message"): void {
}
}
function handleMessage(message: Message, source: "history" | "message"): void {
function handleMessage(message: Message): void {
if (message.channelId !== channelId || message.author.id === client.user?.id) return;
const change = parseLunarisVersionChange(messageText(message));
if (change) enqueue(change.targetVersion, source);
if (change) enqueue(change.targetVersion);
}
client.on(Events.MessageCreate, (message) => handleMessage(message, "message"));
client.on(Events.MessageCreate, handleMessage);
client.on(Events.Error, (cause) => log("discord_error", { error: cause.message }));
client.on(Events.Warn, (message) => log("discord_warning", { message }));
@@ -186,18 +185,6 @@ try {
if (!shutdown.signal.aborted) {
log("discord_ready", { userId: client.user?.id, channelId });
await notify("worker ready", { userId: client.user?.id, channelId });
const channel = await client.channels.fetch(channelId);
if (
!channel ||
(channel.type !== ChannelType.GuildText &&
channel.type !== ChannelType.GuildAnnouncement)
) {
throw new Error("DISCORD_CHANNEL_ID must identify a guild text channel.");
}
const messages = await channel.messages.fetch({ limit: 25 });
for (const message of messages.values()) handleMessage(message, "history");
await stopped;
}
} finally {