aboutsummaryrefslogtreecommitdiff
path: root/bot/src/events
diff options
context:
space:
mode:
Diffstat (limited to 'bot/src/events')
-rw-r--r--bot/src/events/ClientReady.js36
-rw-r--r--bot/src/events/InteractionCreate.js19
2 files changed, 55 insertions, 0 deletions
diff --git a/bot/src/events/ClientReady.js b/bot/src/events/ClientReady.js
new file mode 100644
index 0000000..06b5cce
--- /dev/null
+++ b/bot/src/events/ClientReady.js
@@ -0,0 +1,36 @@
+import { Events } from "discord.js";
+import { readFileSync } from 'node:fs';
+
+import { activities as activity } from '../storage/activities.js';
+
+function botActivity(client) {
+ client.user.setPresence({
+ activities: [{
+ name: activity[Math.floor(Math.random() * activity.length)]
+ }],
+ status: 'online',
+ afk: false,
+ });
+ console.log(`[>] Updated bot presence to "${client.user.presence.activities[0].name}"`);
+}
+
+const { version } = JSON.parse(readFileSync('./package.json', 'utf-8'));
+
+export default {
+ name: Events.ClientReady,
+ once: true,
+ execute(client) {
+ console.log('[>] AleeBot is now ready!');
+ console.log(`[i] Logged in as ${client.user.tag}`);
+ console.log(`[i] Bot ID: ${client.user.id}`);
+ console.log(`[i] Running version ${version} | Serving in ${client.guilds.cache.size} guilds`);
+
+ botActivity(client);
+
+ setInterval(function() {
+ botActivity();
+ }, 200000);
+
+
+ }
+}
diff --git a/bot/src/events/InteractionCreate.js b/bot/src/events/InteractionCreate.js
new file mode 100644
index 0000000..b1e7593
--- /dev/null
+++ b/bot/src/events/InteractionCreate.js
@@ -0,0 +1,19 @@
+import { Events, MessageFlags } from "discord.js";
+
+export default {
+ name: Events.InteractionCreate,
+ async execute(interaction, client) {
+ if (!interaction.isChatInputCommand()) return;
+
+ const command = interaction.client.commands.get(interaction.commandName);
+
+ if (!command) return;
+
+ try {
+ await command.execute(interaction, client);
+ } catch (e) {
+ console.error(e);
+ await interaction.reply({ content: 'Something went wrong.', flags: MessageFlags.Ephemeral });
+ }
+ }
+}