From f44f5d7ac2d24ff836c2e1d4b2fa58da04b13052 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sun, 25 Sep 2022 18:24:21 +1000 Subject: Refactor to mono-repo + upgrade packages --- src-slowcord/bot/src/Bot.ts | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src-slowcord/bot/src/Bot.ts (limited to 'src-slowcord/bot/src/Bot.ts') diff --git a/src-slowcord/bot/src/Bot.ts b/src-slowcord/bot/src/Bot.ts new file mode 100644 index 00000000..45938846 --- /dev/null +++ b/src-slowcord/bot/src/Bot.ts @@ -0,0 +1,48 @@ +import { Message } from "discord.js"; +import { Client } from "fosscord-gopnik/build/lib"; // huh? oh well. some bugs in my lib Ig + +import { Command, getCommands } from "./commands/index.js"; + +export default class Bot { + client: Client; + commands: { [key: string]: Command; } = {}; + + constructor(client: Client) { + this.client = client; + } + + onReady = async () => { + this.commands = await getCommands(); + + console.log(`Logged in as ${this.client.user!.tag}`); + + this.client.user!.setPresence({ + activities: [{ + name: "EVERYTHING", + type: "WATCHING", + }] + }); + }; + + onMessageCreate = async (msg: Message) => { + const prefix = process.env.PREFIX as string; + if (msg.author.bot) return; + if (!msg.content || msg.content.indexOf(prefix) === -1) return; + + const content = msg.content.slice(prefix.length).split(" "); + const cmd = content.shift(); + if (!cmd) return; + const args = content; + + const command = this.commands[cmd]; + if (!command) return; + + await command.exec({ + user: msg.author, + member: msg.member, + guild: msg.guild, + message: msg, + args: args, + }); + }; +} \ No newline at end of file -- cgit 1.5.1