summary refs log tree commit diff
path: root/src-slowcord/bot/src
diff options
context:
space:
mode:
Diffstat (limited to 'src-slowcord/bot/src')
-rw-r--r--src-slowcord/bot/src/Bot.ts50
-rw-r--r--src-slowcord/bot/src/commands/index.ts36
-rw-r--r--src-slowcord/bot/src/commands/instance.ts56
-rw-r--r--src-slowcord/bot/src/index.ts24
4 files changed, 0 insertions, 166 deletions
diff --git a/src-slowcord/bot/src/Bot.ts b/src-slowcord/bot/src/Bot.ts
deleted file mode 100644

index cf3ff09f..00000000 --- a/src-slowcord/bot/src/Bot.ts +++ /dev/null
@@ -1,50 +0,0 @@ -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, - }); - }; -} diff --git a/src-slowcord/bot/src/commands/index.ts b/src-slowcord/bot/src/commands/index.ts deleted file mode 100644
index 0130b2bc..00000000 --- a/src-slowcord/bot/src/commands/index.ts +++ /dev/null
@@ -1,36 +0,0 @@ -import { Message, GuildMember, Guild, User } from "discord.js"; -import fs from "fs"; - -export type CommandContext = { - user: User; - guild: Guild | null; - member: GuildMember | null; - message: Message; - args: string[]; -}; - -export type Command = { - name: string; - exec: (ctx: CommandContext) => any; -}; - -const walk = async (path: string) => { - const files = fs.readdirSync(path); - const out = []; - for (var file of files) { - if (fs.statSync(`${path}/${file}`).isDirectory()) continue; - if (file.indexOf("index") !== -1) continue; - if (file.indexOf(".js") !== file.length - 3) continue; - var imported = (await import(`./${file}`)).default; - out.push(imported); - } - return out; -}; - -export const getCommands = async () => { - const map: { [key: string]: Command } = {}; - for (var cmd of await walk("./build/commands")) { - map[cmd.name] = cmd; - } - return map; -}; diff --git a/src-slowcord/bot/src/commands/instance.ts b/src-slowcord/bot/src/commands/instance.ts deleted file mode 100644
index 170d8f76..00000000 --- a/src-slowcord/bot/src/commands/instance.ts +++ /dev/null
@@ -1,56 +0,0 @@ -import { Command } from "./index.js"; -import { User, Guild, Message } from "@fosscord/util"; - -const cache: { [key: string]: number } = { - users: 0, - guilds: 0, - messages: 0, - lastChecked: 0, -}; - -export default { - name: "instance", - exec: async ({ message }) => { - if ( - Date.now() > - cache.lastChecked + parseInt(process.env.CACHE_TTL as string) - ) { - cache.users = await User.count(); - cache.guilds = await Guild.count(); - cache.messages = await Message.count(); - cache.lastChecked = Date.now(); - } - - return message.reply({ - embeds: [ - { - title: "Instance Stats", - description: - "For more indepth information, check out https://grafana.understars.dev", - footer: { - text: `Last checked: ${Math.floor( - (Date.now() - cache.lastChecked) / (1000 * 60), - )} minutes ago`, - }, - fields: [ - { - inline: true, - name: "Total Users", - value: cache.users.toString(), - }, - { - inline: true, - name: "Total Guilds", - value: cache.guilds.toString(), - }, - { - inline: true, - name: "Total Messages", - value: cache.messages.toString(), - }, - ], - }, - ], - }); - }, -} as Command; diff --git a/src-slowcord/bot/src/index.ts b/src-slowcord/bot/src/index.ts deleted file mode 100644
index fa97313f..00000000 --- a/src-slowcord/bot/src/index.ts +++ /dev/null
@@ -1,24 +0,0 @@ -import "dotenv/config"; -import Fosscord from "fosscord-gopnik"; -import Bot from "./Bot.js"; // huh? -import { initDatabase } from "fosscord-server/src/util"; - -const client = new Fosscord.Client({ - intents: ["GUILD_MESSAGES"], - - http: { - api: process.env.ENDPOINT_API, - cdn: process.env.ENDPOINT_CDN, - invite: process.env.ENDPOINT_INV, - }, -}); - -const bot = new Bot(client); - -client.on("ready", bot.onReady); -client.on("messageCreate", bot.onMessageCreate); - -(async () => { - await initDatabase(); - await client.login(process.env.TOKEN); -})();