Newer
Older
percord / slowcord / bot / src / Bot.ts
@Madeline Madeline on 31 Jul 2022 1 KB Fix msg content check in bot
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,
		});
	};
}