PepperBot/src/index.js

135 lines
3 KiB
JavaScript

import { GatewayIntentBits, Partials, Client } from "discord.js";
import events from "./events/importEvents.js";
import register from "./register-commands.js";
import fs from "fs";
export const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.GuildVoiceStates,
],
partials: [Partials.Message, Partials.Channel],
});
async function sendMainMessage(message) {
try {
const channel = client.channels.cache.get("1148814162273763418");
const msg = await channel.send(message);
return msg;
} catch (err) {
console.log(err);
return undefined;
}
}
client.on("ready", (rclient) => {
events.ready(rclient);
});
client.on("guildMemberAdd", (member) => {
try {
events.guildMemberAdd(member, client);
} catch (err) {
sendMainMessage(
"guildMemberAdd event produced error; see crashes.log for details."
);
try {
fs.appendFileSync(
`../logs/crashes.log`,
`AT: ${Date()}`,
`ERROR: ${err}`,
`\n`
);
} catch (err2) {
console.log(err2);
}
}
});
client.on("messageDelete", async (message) => {
try {
events.messageDelete(message, client);
} catch (err) {
sendMainMessage(
"messageDelete event produced error; see crashes.log for details."
);
try {
fs.appendFileSync(
`../pepperbot/logs/crashes.log`,
`AT: ${Date()}`,
`ERROR: ${err}`,
`\n`
);
} catch (err2) {
console.log(err2);
}
}
});
client.on("messageCreate", async (message) => {
try {
events.messageCreate(message, client);
} catch (err) {
sendMainMessage(
"messageCreate event produced error; see crashes.log for details."
);
console.log(err);
try {
fs.appendFileSync(
`../pepperbot/logs/crashes.log`,
`AT: ${Date()}`,
`ERROR: ${err}`,
`\n`
);
} catch (err2) {
console.log(err2);
}
}
});
client.on("interactionCreate", (interaction) => {
try {
events.interactionCreate(interaction, client);
} catch (err) {
sendMainMessage(
"interactionCreate event produced error; see crashes.log for details."
);
try {
fs.appendFileSync(
`../pepperbot/logs/crashes.log`,
`AT: ${Date()}`,
`ERROR: ${err}`,
`\n`
);
} catch (err2) {
console.log(err2);
}
}
});
client.on("voiceStateUpdate", (oldState, newState) => {
try {
events.voiceStateUpdate(oldState, newState, client);
} catch (err) {
sendMainMessage(
"voiceStateUpdate event produced error; see crashes.log for details."
);
try {
fs.appendFileSync(
`../pepperbot/logs/crashes.log`,
`AT: ${Date()}`,
`ERROR: ${err}`,
`\n`
);
} catch (err2) {
console.log(err2);
}
}
});
register();
client.login(process.env.TOKEN);