diff --git a/src/commands/reset.js b/src/commands/reset.js index 948938f4d..727770e87 100644 --- a/src/commands/reset.js +++ b/src/commands/reset.js @@ -27,6 +27,10 @@ import { setupGuildChannels } from '../discordTools/setup-guild-channels'; import { setupServerList } from '../discordTools/setup-server-list'; import { setupSettingsMenu } from '../discordTools/setup-settings-menu'; import { setupTrackers } from '../discordTools/setup-trackers'; +import { setupAlarms } from '../discordTools/setup-alarms'; +import { setupSwitches } from '../discordTools/setup-switches'; +import { setupStorageMonitors } from '../discordTools/setup-storage-monitors'; +import { setupSwitchGroups } from '../discordTools/setup-switch-groups'; const Config = require('../../config'); const DiscordEmbeds = require('../discordTools/discordEmbeds.js'); const DiscordMessages = require('../discordTools/discordMessages.js'); @@ -114,10 +118,10 @@ module.exports = { await setupSettingsMenu(client, guild, true); if (rustplus && rustplus.isOperational) { - await require('../discordTools/SetupSwitches')(client, rustplus); - await require('../discordTools/SetupSwitchGroups')(client, rustplus); - await require('../discordTools/SetupAlarms')(client, rustplus); - await require('../discordTools/SetupStorageMonitors')(client, rustplus); + await setupSwitches(client, rustplus); + await setupSwitchGroups(client, rustplus); + await setupAlarms(client, rustplus); + await setupStorageMonitors(client, rustplus); } await setupTrackers(client, guild); @@ -200,8 +204,8 @@ module.exports = { const rustplus = client.rustplusInstances[guild.id]; if (rustplus && rustplus.isOperational) { - await require('../discordTools/SetupSwitches')(client, rustplus); - await require('../discordTools/SetupSwitchGroups')(client, rustplus); + await setupSwitches(client, rustplus); + await setupSwitchGroups(client, rustplus); } await PermissionHandler.resetPermissionsAllChannels(client, guild); @@ -215,7 +219,7 @@ module.exports = { case 'alarms': { const rustplus = client.rustplusInstances[guild.id]; if (rustplus && rustplus.isOperational) { - await require('../discordTools/SetupAlarms')(client, rustplus); + await setupAlarms(client, rustplus); } log.info(client.intlGet(null, 'slashCommandValueChange', { @@ -238,7 +242,7 @@ module.exports = { const rustplus = client.rustplusInstances[guild.id]; if (rustplus && rustplus.isOperational) { - await require('../discordTools/SetupStorageMonitors')(client, rustplus); + await setupStorageMonitors(client, rustplus); } await PermissionHandler.resetPermissionsAllChannels(client, guild); diff --git a/src/discordTools/SetupAlarms.js b/src/discordTools/setup-alarms.ts similarity index 83% rename from src/discordTools/SetupAlarms.js rename to src/discordTools/setup-alarms.ts index b2b91d2c2..184c9fc62 100644 --- a/src/discordTools/SetupAlarms.js +++ b/src/discordTools/setup-alarms.ts @@ -1,5 +1,5 @@ /* - Copyright (C) 2022 Alexander Emanuelsson (alexemanuelol) + Copyright (C) 2024 Alexander Emanuelsson (alexemanuelol) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,10 +19,12 @@ */ const DiscordMessages = require('./discordMessages.js'); +const { DiscordBot } = require('../structures/DiscordBot.js'); +const { RustPlus } = require('../structures/RustPlus.js'); -module.exports = async (client, rustplus) => { - const instance = client.getInstance(rustplus.guildId); +export async function setupAlarms(client: typeof DiscordBot, rustplus: typeof RustPlus) { const guildId = rustplus.guildId; + const instance = client.getInstance(guildId); const serverId = rustplus.serverId; for (const entityId in instance.serverList[serverId].alarms) { @@ -45,4 +47,4 @@ module.exports = async (client, rustplus) => { await DiscordMessages.sendSmartAlarmMessage(guildId, serverId, entityId); } -}; +} \ No newline at end of file diff --git a/src/discordTools/SetupStorageMonitors.js b/src/discordTools/setup-storage-monitors.ts similarity index 83% rename from src/discordTools/SetupStorageMonitors.js rename to src/discordTools/setup-storage-monitors.ts index a7ce0b527..6abeb05f7 100644 --- a/src/discordTools/SetupStorageMonitors.js +++ b/src/discordTools/setup-storage-monitors.ts @@ -1,5 +1,5 @@ /* - Copyright (C) 2022 Alexander Emanuelsson (alexemanuelol) + Copyright (C) 2024 Alexander Emanuelsson (alexemanuelol) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,13 +18,15 @@ */ -const Constants = require('../util/constants.ts'); +import * as constants from '../util/constants'; const DiscordMessages = require('./discordMessages.js'); const DiscordTools = require('./discordTools.js'); +const { DiscordBot } = require('../structures/DiscordBot.js'); +const { RustPlus } = require('../structures/RustPlus.js'); -module.exports = async (client, rustplus) => { - const instance = client.getInstance(rustplus.guildId); +export async function setupStorageMonitors(client: typeof DiscordBot, rustplus: typeof RustPlus) { const guildId = rustplus.guildId; + const instance = client.getInstance(guildId); const serverId = rustplus.serverId; if (rustplus.isNewConnection) { @@ -55,7 +57,7 @@ module.exports = async (client, rustplus) => { } if (info.entityInfo.payload.capacity !== 0) { - if (info.entityInfo.payload.capacity === Constants.STORAGE_MONITOR_TOOL_CUPBOARD_CAPACITY) { + if (info.entityInfo.payload.capacity === constants.STORAGE_MONITOR_TOOL_CUPBOARD_CAPACITY) { entity.type = 'toolCupboard'; if (info.entityInfo.payload.protectionExpiry === 0) { entity.decaying = true; @@ -64,10 +66,10 @@ module.exports = async (client, rustplus) => { entity.decaying = false; } } - else if (info.entityInfo.payload.capacity === Constants.STORAGE_MONITOR_VENDING_MACHINE_CAPACITY) { + else if (info.entityInfo.payload.capacity === constants.STORAGE_MONITOR_VENDING_MACHINE_CAPACITY) { entity.type = 'vendingMachine'; } - else if (info.entityInfo.payload.capacity === Constants.STORAGE_MONITOR_LARGE_WOOD_BOX_CAPACITY) { + else if (info.entityInfo.payload.capacity === constants.STORAGE_MONITOR_LARGE_WOOD_BOX_CAPACITY) { entity.type = 'largeWoodBox'; } client.setInstance(guildId, instance); @@ -76,4 +78,4 @@ module.exports = async (client, rustplus) => { await DiscordMessages.sendStorageMonitorMessage(guildId, serverId, entityId); } -}; +} \ No newline at end of file diff --git a/src/discordTools/SetupSwitchGroups.js b/src/discordTools/setup-switch-groups.ts similarity index 71% rename from src/discordTools/SetupSwitchGroups.js rename to src/discordTools/setup-switch-groups.ts index 04d651f1d..a33c76a90 100644 --- a/src/discordTools/SetupSwitchGroups.js +++ b/src/discordTools/setup-switch-groups.ts @@ -1,5 +1,5 @@ /* - Copyright (C) 2022 Alexander Emanuelsson (alexemanuelol) + Copyright (C) 2024 Alexander Emanuelsson (alexemanuelol) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,16 +20,18 @@ const DiscordMessages = require('./discordMessages.js'); const DiscordTools = require('./discordTools.js'); +const { DiscordBot } = require('../structures/DiscordBot.js'); +const { RustPlus } = require('../structures/RustPlus.js'); -module.exports = async (client, rustplus) => { - const instance = client.getInstance(rustplus.guildId); +export async function setupSwitchGroups(client: typeof DiscordBot, rustplus: typeof RustPlus) { const guildId = rustplus.guildId; + const instance = client.getInstance(guildId); if (rustplus.isNewConnection) { await DiscordTools.clearTextChannel(guildId, instance.channelIds.switchGroups, 100); } for (const groupId in instance.serverList[rustplus.serverId].switchGroups) { - await DiscordMessages.sendSmartSwitchGroupMessage(rustplus.guildId, rustplus.serverId, groupId); + await DiscordMessages.sendSmartSwitchGroupMessage(guildId, rustplus.serverId, groupId); } -}; +} \ No newline at end of file diff --git a/src/discordTools/SetupSwitches.js b/src/discordTools/setup-switches.ts similarity index 84% rename from src/discordTools/SetupSwitches.js rename to src/discordTools/setup-switches.ts index 3d6ea1b94..62560c02c 100644 --- a/src/discordTools/SetupSwitches.js +++ b/src/discordTools/setup-switches.ts @@ -1,5 +1,5 @@ /* - Copyright (C) 2022 Alexander Emanuelsson (alexemanuelol) + Copyright (C) 2024 Alexander Emanuelsson (alexemanuelol) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,10 +20,12 @@ const DiscordMessages = require('./discordMessages.js'); const DiscordTools = require('./discordTools.js'); +const { DiscordBot } = require('../structures/DiscordBot.js'); +const { RustPlus } = require('../structures/RustPlus.js'); -module.exports = async (client, rustplus) => { - const instance = client.getInstance(rustplus.guildId); +export async function setupSwitches(client: typeof DiscordBot, rustplus: typeof RustPlus) { const guildId = rustplus.guildId; + const instance = client.getInstance(guildId); const serverId = rustplus.serverId; if (rustplus.isNewConnection) { @@ -50,4 +52,4 @@ module.exports = async (client, rustplus) => { await DiscordMessages.sendSmartSwitchMessage(guildId, serverId, entityId); } -}; +} \ No newline at end of file diff --git a/src/rustplusEvents/connected.js b/src/rustplusEvents/connected.js index 1d2c619bc..c0625fda8 100644 --- a/src/rustplusEvents/connected.js +++ b/src/rustplusEvents/connected.js @@ -18,6 +18,10 @@ */ +import { setupAlarms } from '../discordTools/setup-alarms'; +import { setupSwitches } from '../discordTools/setup-switches'; +import { setupStorageMonitors } from '../discordTools/setup-storage-monitors'; +import { setupSwitchGroups } from '../discordTools/setup-switch-groups'; const DiscordMessages = require('../discordTools/discordMessages.js'); const Info = require('../structures/Info'); const Map = require('../structures/Map'); @@ -97,10 +101,11 @@ module.exports = { await DiscordMessages.sendServerMessage(guildId, serverId, null); /* Setup Smart Devices */ - await require('../discordTools/SetupSwitches')(client, rustplus); - await require('../discordTools/SetupSwitchGroups')(client, rustplus); - await require('../discordTools/SetupAlarms')(client, rustplus); - await require('../discordTools/SetupStorageMonitors')(client, rustplus); + await setupSwitches(client, rustplus); + await setupSwitchGroups(client, rustplus); + await setupAlarms(client, rustplus); + await setupStorageMonitors(client, rustplus); + rustplus.isNewConnection = false; rustplus.loadMarkers();