feat: ask ai discord bot (#6842)
Signed-off-by: The-Best-Codes <bestcodes.official@gmail.com>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { configDotenv } from "dotenv";
|
||||
configDotenv();
|
||||
|
||||
// Command and index files are generated by the CLI...
|
||||
// Run `discraft dev` or `discraft build` to generate them
|
||||
import { Events } from "discord.js";
|
||||
import { registerCommands } from "./.discraft/commands/index";
|
||||
import { registerEvents } from "./.discraft/events/index";
|
||||
import client from "./clients/discord";
|
||||
import { logger } from "./utils/logger";
|
||||
|
||||
logger.start("Starting bot...");
|
||||
|
||||
// Register events before login
|
||||
registerEvents(client)
|
||||
.then(() => {
|
||||
logger.verbose("Events registered in main process.");
|
||||
})
|
||||
.catch((err) => {
|
||||
logger.error("Error registering events.");
|
||||
logger.verbose(err);
|
||||
})
|
||||
.finally(() => {
|
||||
client.on(Events.ClientReady, async () => {
|
||||
logger.success("Client logged in.");
|
||||
try {
|
||||
await registerCommands(client);
|
||||
} catch (err) {
|
||||
logger.error("Error registering commands.");
|
||||
logger.verbose(err);
|
||||
}
|
||||
});
|
||||
client.login(process.env.DISCORD_TOKEN).catch((err) => {
|
||||
logger.error(
|
||||
"Client login failed, make sure your token is set correctly.",
|
||||
);
|
||||
logger.verbose(err);
|
||||
});
|
||||
});
|
||||
|
||||
process.on("uncaughtException", (err) => {
|
||||
logger.error("Uncaught exception.");
|
||||
logger.verbose(err);
|
||||
});
|
||||
|
||||
process.on("unhandledRejection", (err) => {
|
||||
logger.error("Unhandled rejection.");
|
||||
logger.verbose(err);
|
||||
});
|
||||
|
||||
process.on("SIGINT", async () => {
|
||||
logger.info("Received SIGINT, Gracefully shutting down...");
|
||||
try {
|
||||
logger.info("Closing client...");
|
||||
await client.destroy();
|
||||
logger.success("Client closed.");
|
||||
} catch (err) {
|
||||
logger.error("Error while shutting down client.");
|
||||
logger.verbose(err);
|
||||
}
|
||||
logger.info("Exiting...");
|
||||
process.exit(0);
|
||||
});
|
||||
Reference in New Issue
Block a user