From 0cacbda4930ddb2a33ebaca27bdb6a1d22e44852 Mon Sep 17 00:00:00 2001 From: macdja38 Date: Sun, 30 Oct 2022 02:22:52 -0400 Subject: [PATCH] Re-write DM Autoresponse into typescript --- src/modules/chess.ts | 3 +- ...{dmAutoResponder.js => dmAutoResponder.ts} | 31 +++++++++++++------ src/modules/hat.ts | 3 +- src/modules/help.ts | 3 +- src/modules/minecraft.ts | 3 +- src/modules/search.ts | 3 +- src/modules/utilities.ts | 3 +- src/modules/welcome.ts | 3 +- 8 files changed, 36 insertions(+), 16 deletions(-) rename src/modules/{dmAutoResponder.js => dmAutoResponder.ts} (66%) diff --git a/src/modules/chess.ts b/src/modules/chess.ts index 64df8ca..a57c22a 100644 --- a/src/modules/chess.ts +++ b/src/modules/chess.ts @@ -13,6 +13,7 @@ import * as Eris from "eris"; import ConfigDB from "../lib/ConfigDB"; import Permissions from "../lib/Permissions"; import { ModuleOptions } from "../types/lib"; +import { translateTypeCreator } from "../types/translate"; let table = "chess"; @@ -180,7 +181,7 @@ class chess { private games: { [keyof: string]: any }; private client: Eris.Client; private pvpcraft: any; - private i10010n: any; + private i10010n: translateTypeCreator; private r: any; private perms: Permissions; private messageSender: any; diff --git a/src/modules/dmAutoResponder.js b/src/modules/dmAutoResponder.ts similarity index 66% rename from src/modules/dmAutoResponder.js rename to src/modules/dmAutoResponder.ts index 9849b32..a12cb7a 100644 --- a/src/modules/dmAutoResponder.js +++ b/src/modules/dmAutoResponder.ts @@ -3,7 +3,17 @@ */ "use strict"; -class dmAutoResponder { +import { Module, ModuleConstructor } from "../types/moduleDefinition"; +import { ModuleOptions } from "../types/lib"; +import { translateTypeCreator } from "../types/translate"; +import PvPCraft from "../PvPCraft"; +import Eris, { TextChannel } from "eris"; + +const dmAutoResponder: ModuleConstructor = class dmAutoResponder implements Module { + private i10010n: translateTypeCreator; + private pvpcraft: PvPCraft; + private client: Eris.Client; + /** * Instantiates the module * @constructor @@ -21,10 +31,9 @@ class dmAutoResponder { * @param {PvPClient} e.pvpClient PvPCraft client library instance * @param {Function} e.i10010n internationalization function */ - constructor(e) { + constructor(e: ModuleOptions) { this.client = e.client; this.pvpcraft = e.pvpcraft; - this.raven = e.raven; this.i10010n = e.i10010n; } @@ -33,16 +42,20 @@ class dmAutoResponder { * @param {Message} msg * @returns {boolean | Promise} */ - checkMisc(msg) { - if (msg.channel.guild) return false; + checkMisc(msg: Eris.Message | Eris.Message) { + if ("guild" in msg.channel) return false; if (msg.author.bot) return false; const translate = this.i10010n(this.pvpcraft.getChannelLanguage(msg.channel.id)); const lowercaseContents = msg.content.toLowerCase(); - if (lowercaseContents.includes("invite") || lowercaseContents.includes("discord.gg")) return msg.channel.createMessage(translate `https://invite.pvpcraft.ca`); - if (lowercaseContents.includes("help") || lowercaseContents.includes("docs")) return msg.channel.createMessage(translate `https://bot.pvpcraft.ca/docs`); - if (lowercaseContents.startsWith("/") || lowercaseContents.startsWith("!!") || lowercaseContents.startsWith("//")) return msg.channel.createMessage(translate `This command cannot be used in dms`); + if (lowercaseContents.includes("invite") || lowercaseContents.includes("discord.gg")) return msg.channel.createMessage(translate`https://invite.pvpcraft.ca`); + if (lowercaseContents.includes("help") || lowercaseContents.includes("docs")) return msg.channel.createMessage(translate`https://bot.pvpcraft.ca/docs`); + if (lowercaseContents.startsWith("/") || lowercaseContents.startsWith("!!") || lowercaseContents.startsWith("//")) return msg.channel.createMessage(translate`This command cannot be used in dms`); return false; } + + getCommands() { + return [] + } } -module.exports = dmAutoResponder; \ No newline at end of file +module.exports = dmAutoResponder; diff --git a/src/modules/hat.ts b/src/modules/hat.ts index ec645d6..dacec44 100644 --- a/src/modules/hat.ts +++ b/src/modules/hat.ts @@ -12,11 +12,12 @@ import Permissions from "../lib/Permissions"; import * as Sentry from "@sentry/node"; import { combineTwoImages, getImageFromFile, getImageFromUrl } from "../lib/hats"; import { GuildCommand } from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; const hat: ModuleConstructor = class hat implements Module { private client: Eris.Client; private perms: Permissions; - private i10010n: any; + private i10010n: translateTypeCreator; /** * Instantiates the module diff --git a/src/modules/help.ts b/src/modules/help.ts index 22f0a75..e22ecc3 100644 --- a/src/modules/help.ts +++ b/src/modules/help.ts @@ -8,9 +8,10 @@ import { ModuleOptions } from "../types/lib"; import Eris from "eris"; import { Module, ModuleCommand, ModuleConstructor } from "../types/moduleDefinition"; import Command from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; const help: ModuleConstructor = class help implements Module { - private i10010n: any; + private i10010n: translateTypeCreator; /** * Instantiates the module diff --git a/src/modules/minecraft.ts b/src/modules/minecraft.ts index 0393bf7..c20f9ea 100644 --- a/src/modules/minecraft.ts +++ b/src/modules/minecraft.ts @@ -15,6 +15,7 @@ import Eris, { GuildChannel, TextChannel } from "eris"; import ConfigDB from "../lib/ConfigDB"; import WebSocket from "ws"; import Command, { GuildCommand } from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; type MCAuth = { chat?: string; @@ -36,7 +37,7 @@ export const minecraft: ModuleConstructor = class minecraft implements Module { private client: Eris.Client; private perms: Permissions; private messageSender: any; - private i10010n: any; + private i10010n: translateTypeCreator; private minecraftConnections: WebSocket[]; /** diff --git a/src/modules/search.ts b/src/modules/search.ts index be8a347..0317956 100644 --- a/src/modules/search.ts +++ b/src/modules/search.ts @@ -10,6 +10,7 @@ import { ModuleOptions } from "../types/lib"; import Permissions from "../lib/Permissions"; import Eris from "eris"; import Command from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; let google = require("google"); @@ -20,7 +21,7 @@ let cheerio = require("cheerio"); const search: ModuleConstructor = class search implements Module { private client: Eris.Client; private perms: Permissions; - private i10010n: any; + private i10010n: translateTypeCreator; /** * Instantiates the module diff --git a/src/modules/utilities.ts b/src/modules/utilities.ts index 92b3c0c..63bdd82 100644 --- a/src/modules/utilities.ts +++ b/src/modules/utilities.ts @@ -11,6 +11,7 @@ import Config from "../lib/Config"; import Permissions from "../lib/Permissions"; import Eris from "eris"; import Command, { GuildCommand } from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; const now = require('performance-now'); const os = require('os'); @@ -21,7 +22,7 @@ const utilities: ModuleConstructor = class utilities implements Module { private perms: Permissions; private client: Eris.Client; private config: Config; - private i10010n: any; + private i10010n: translateTypeCreator; /** * Instantiates the module diff --git a/src/modules/welcome.ts b/src/modules/welcome.ts index 74e5070..a98d741 100644 --- a/src/modules/welcome.ts +++ b/src/modules/welcome.ts @@ -12,12 +12,13 @@ import ConfigDB from "../lib/ConfigDB"; import Permissions from "../lib/Permissions"; import * as Sentry from "@sentry/node"; import { GuildCommand } from "../lib/Command/Command"; +import { translateTypeCreator } from "../types/translate"; const welcome: ModuleConstructor = class welcome implements Module { private client: Eris.Client; private config: ConfigDB; private perms: Permissions; - private i10010n: any; + private i10010n: translateTypeCreator; /** * Instantiates the module