swapped to a new db locally hosted

This commit is contained in:
2025-10-06 00:25:29 -04:00
parent 097583ca0a
commit ca23c0ab8c
40 changed files with 2244 additions and 556 deletions

View File

@@ -1,4 +1,5 @@
const { SlashCommandBuilder, ActionRowBuilder, ChannelSelectMenuBuilder, StringSelectMenuBuilder, ModalBuilder, TextInputBuilder, TextInputStyle, ComponentType } = require('discord.js');
const api = require('../api');
const { readDb, writeDb } = require('../../backend/db.js');
const defaultLeaveMessages = ["{user} has left the server.", "Goodbye, {user}.", "We'll miss you, {user}."];
@@ -38,8 +39,19 @@ module.exports = {
});
const channelId = channelConfirmation.values[0];
db[guildId].leaveChannel = channelId;
db[guildId].leaveEnabled = true;
try {
const existing = (await api.getServerSettings(guildId)) || {};
existing.leaveEnabled = true;
existing.leaveChannel = channelId;
await api.upsertServerSettings(guildId, existing);
} catch (e) {
console.error('Error persisting leave settings to backend, falling back to local:', e);
const db = readDb();
if (!db[guildId]) db[guildId] = {};
db[guildId].leaveChannel = channelId;
db[guildId].leaveEnabled = true;
writeDb(db);
}
const messageOptions = defaultLeaveMessages.map(msg => ({
label: msg.length > 100 ? msg.substring(0, 97) + '...' : msg,
@@ -92,8 +104,17 @@ module.exports = {
});
const customMessage = modalSubmit.fields.getTextInputValue('custom_message_input');
db[guildId].leaveMessage = customMessage;
writeDb(db);
try {
const existing = (await api.getServerSettings(guildId)) || {};
existing.leaveMessage = customMessage;
await api.upsertServerSettings(guildId, existing);
} catch (e) {
console.error('Error persisting leave message to backend, falling back to local:', e);
const db = readDb();
if (!db[guildId]) db[guildId] = {};
db[guildId].leaveMessage = customMessage;
writeDb(db);
}
await modalSubmit.reply({
content: `Leave message setup complete! Channel: <#${channelId}>, Message: "${customMessage}"`,
@@ -101,8 +122,17 @@ module.exports = {
});
} else {
db[guildId].leaveMessage = selectedMessage;
writeDb(db);
try {
const existing = (await api.getServerSettings(guildId)) || {};
existing.leaveMessage = selectedMessage;
await api.upsertServerSettings(guildId, existing);
} catch (e) {
console.error('Error persisting leave message to backend, falling back to local:', e);
const db = readDb();
if (!db[guildId]) db[guildId] = {};
db[guildId].leaveMessage = selectedMessage;
writeDb(db);
}
await messageConfirmation.update({
content: `Leave message setup complete! Channel: <#${channelId}>, Message: "${selectedMessage}"`,
components: [],