const Discord = require("discord.js"); const client = new Discord.Client({ readyStatus: false, checkUpdate: false, }); require("dotenv").config(); const config = require("./config.js"); client.on("ready", async () => { try { const AsciiTable = require("ascii-table"); const table = new AsciiTable(); table.setBorder("❘", "─", "✾", "❀"); table.setTitle(`Logged In As ${client.user.username}!`); table .addRow(`Node.js`, `${process.version}`) .addRow( `Memory`, `${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB / ${( process.memoryUsage().rss / 1024 / 1024 ).toFixed(2)} MB` ); setTimeout(() => { console.log(table.toString()); }, 3000); const r = new Discord.RichPresence(); if (config.ApplicationId) r.setApplicationId(config.ApplicationId); if (config.Type) r.setType(config.Type); if (config.URL) r.setURL(config.URL); if (config.State) r.setState(config.State); if (config.Name) r.setName(config.Name); if (config.Details) r.setDetails(config.Details); if (config.StartTimestamp) r.setStartTimestamp(config.StartTimestamp); if (config.LargeImage) r.setAssetsLargeImage(config.LargeImage); if (config.LargeText) r.setAssetsLargeText(config.LargeText); if (config.SmallImage) r.setAssetsSmallImage(config.SmallImage); if (config.SmallText) r.setAssetsSmallText(config.SmallText); if (config.FirstButtonName && config.FirstButtonUrl) r.addButton(config.FirstButtonName, config.FirstButtonUrl); if (config.SecondButtonName && config.SecondButtonUrl) r.addButton(config.SecondButtonName, config.SecondButtonUrl); client.user.setActivity(r); setTimeout(() => { if (!client || !client.user) { console.error("Client didn't log in.. Killing the process.."); process.exit(1); } else { console.log("Client has successfully logged in!"); } }, 1 * 1000 * 20); } catch (error) { console.error("An error occurred during the ready event:", error); process.exit(1); } }); client.on("error", (error) => { console.error("An error occurred with the Discord client:", error); }); client.login(config.token).catch((error) => { console.error("Failed to login:", error); process.exit(1); });