Partially revert fbc1b6f

Since that commit, setup has not worked, because setup loads client
which loads packets which prepares a statement for a table that does not
exist yet, as database migrations have not been run.

Alteratively, we could do migrations earlier in setup, but those would
send a lot of log lines to the terminal in the middle of interactive
prompting.
This commit is contained in:
Cadence Ember 2025-02-22 12:26:38 +13:00
parent 2e13538ca6
commit 31cf91d778

View file

@ -6,8 +6,9 @@ const DiscordTypes = require("discord-api-types/v10")
const passthrough = require("../passthrough") const passthrough = require("../passthrough")
const {sync, db} = passthrough const {sync, db} = passthrough
/** @type {{run: (guildID: string, channelID: string) => any}} */ function populateGuildID(guildID, channelID) {
const populateGuildID = db.prepare("UPDATE channel_room SET guild_id = ? WHERE channel_id = ?") db.prepare("UPDATE channel_room SET guild_id = ? WHERE channel_id = ?").run(guildID, channelID)
}
const utils = { const utils = {
/** /**
@ -39,14 +40,14 @@ const utils = {
channel.guild_id = message.d.id channel.guild_id = message.d.id
arr.push(channel.id) arr.push(channel.id)
client.channels.set(channel.id, channel) client.channels.set(channel.id, channel)
populateGuildID.run(message.d.id, channel.id) populateGuildID(message.d.id, channel.id)
} }
for (const thread of message.d.threads || []) { for (const thread of message.d.threads || []) {
// @ts-ignore // @ts-ignore
thread.guild_id = message.d.id thread.guild_id = message.d.id
arr.push(thread.id) arr.push(thread.id)
client.channels.set(thread.id, thread) client.channels.set(thread.id, thread)
populateGuildID.run(message.d.id, thread.id) populateGuildID(message.d.id, thread.id)
} }
if (listen === "full") { if (listen === "full") {
@ -103,7 +104,7 @@ const utils = {
} else if (message.t === "THREAD_CREATE") { } else if (message.t === "THREAD_CREATE") {
client.channels.set(message.d.id, message.d) client.channels.set(message.d.id, message.d)
if (message.d["guild_id"]) { if (message.d["guild_id"]) {
populateGuildID.run(message.d["guild_id"], message.d.id) populateGuildID(message.d["guild_id"], message.d.id)
const channels = client.guildChannelMap.get(message.d["guild_id"]) const channels = client.guildChannelMap.get(message.d["guild_id"])
if (channels && !channels.includes(message.d.id)) channels.push(message.d.id) if (channels && !channels.includes(message.d.id)) channels.push(message.d.id)
} }
@ -131,7 +132,7 @@ const utils = {
} else if (message.t === "CHANNEL_CREATE") { } else if (message.t === "CHANNEL_CREATE") {
client.channels.set(message.d.id, message.d) client.channels.set(message.d.id, message.d)
if (message.d["guild_id"]) { // obj[prop] notation can be used to access a property without typescript complaining that it doesn't exist on all values something can have if (message.d["guild_id"]) { // obj[prop] notation can be used to access a property without typescript complaining that it doesn't exist on all values something can have
populateGuildID.run(message.d["guild_id"], message.d.id) populateGuildID(message.d["guild_id"], message.d.id)
const channels = client.guildChannelMap.get(message.d["guild_id"]) const channels = client.guildChannelMap.get(message.d["guild_id"])
if (channels && !channels.includes(message.d.id)) channels.push(message.d.id) if (channels && !channels.includes(message.d.id)) channels.push(message.d.id)
} }