diff --git a/package.json b/package.json index 08b9458..3d11704 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "devDependencies": { "@types/node": "^18.7.18", + "@types/node-cleanup": "^2.1.2", "nodemon": "^2.0.20", "prisma": "^4.3.1", "ts-node": "^10.9.1", @@ -24,6 +25,7 @@ "@discordjs/rest": "^1.1.0", "@prisma/client": "^4.3.1", "discord.js": "^14.3.0", - "dotenv": "^16.0.2" + "dotenv": "^16.0.2", + "node-cleanup": "^2.1.2" } } diff --git a/prisma/dev.db b/prisma/dev.db index 357638b..028592a 100644 Binary files a/prisma/dev.db and b/prisma/dev.db differ diff --git a/prisma/dev.db-journal b/prisma/dev.db-journal deleted file mode 100644 index 61bb6b7..0000000 Binary files a/prisma/dev.db-journal and /dev/null differ diff --git a/src/Controllers/discord.controller.ts b/src/Controllers/discord.controller.ts index 2aa91dd..691649d 100644 --- a/src/Controllers/discord.controller.ts +++ b/src/Controllers/discord.controller.ts @@ -6,13 +6,16 @@ import { import config from "config"; import EventEmitter from "events"; import DiscordService from "Services/discord.service"; +import PrismaService from "Services/prisma.service"; export default class DiscordController extends EventEmitter { private discordService!: DiscordService; + private prismaService: PrismaService; constructor() { super(); this.discordService = new DiscordService(); + this.prismaService = new PrismaService(); this.discordService.client.once("ready", () => { console.log("Listening..."); }); @@ -46,11 +49,20 @@ export default class DiscordController extends EventEmitter { ); if (channel?.isTextBased()) { - // send quote content as message - channel.send(interaction.options.getString("content") || ""); + const content = interaction.options.getString("content") || ""; - interaction.reply({ - content: "Completed! (only you see this)", + // send quote content as message + await this.prismaService.client.message.create({ + data: { + content, + userName: interaction.user.username, + }, + }); + + await channel.send(content); + + await interaction.reply({ + content: "Completed!", ephemeral: true, }); return; diff --git a/src/Services/prisma.service.ts b/src/Services/prisma.service.ts new file mode 100644 index 0000000..ef5a743 --- /dev/null +++ b/src/Services/prisma.service.ts @@ -0,0 +1,8 @@ +import { PrismaClient } from "@prisma/client"; + +export default class PrismaService { + client: PrismaClient; + constructor() { + this.client = new PrismaClient(); + } +} diff --git a/yarn.lock b/yarn.lock index 1031045..e66877c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,6 +121,11 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== +"@types/node-cleanup@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@types/node-cleanup/-/node-cleanup-2.1.2.tgz#545c6909b864df699d46f53ae8d59cabdcb51665" + integrity sha512-HTksao/sZs9nqxKD/vWOR3WxSrQsyJlBPEFFCgq9lMmhRsuQF+2p6hy+7FaCYn6lOeiDc3ywI8jDQ2bz5y6m8w== + "@types/node@*", "@types/node@^18.7.18": version "18.7.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154"