From 5b5616b7aaa2d9294dcaf8ec6c044e32032c6b89 Mon Sep 17 00:00:00 2001 From: Siwoo Jeon Date: Sat, 8 Mar 2025 20:50:57 +0900 Subject: [PATCH] feat: Add Container.channel --- src/init.ts | 13 ++++++++++++- src/lib/releaseChannel.ts | 6 ++++++ src/listeners/messageCreate.ts | 11 +++++++---- 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/lib/releaseChannel.ts diff --git a/src/init.ts b/src/init.ts index 5f6d2b4..80cc8c5 100644 --- a/src/init.ts +++ b/src/init.ts @@ -1,4 +1,5 @@ import { Config } from './config' +import { ReleaseChannel } from './lib/releaseChannel' import { container } from '@sapphire/pieces' import { connect, disconnect } from 'mongoose' @@ -13,6 +14,7 @@ declare module '@sapphire/pieces' { fail: number success: number } + channel: ReleaseChannel } } @@ -26,11 +28,20 @@ declare module '@sapphire/framework' { container.dbDisconnect = async () => await disconnect() container.config = new Config() container.prefix = container.config.bot.prefix -container.version = '5.0.0-yogurt.e250308a' +container.version = '5.0.0-yogurt_canary.250308b' container.embedColors = { default: 0xaddb87, fail: 0xff0000, success: 0x00ff00, } +if (container.version.includes(ReleaseChannel.Release)) + container.channel = ReleaseChannel.Release +else if (container.version.includes(ReleaseChannel.Preview)) + container.channel = ReleaseChannel.Preview +else if (container.version.includes(ReleaseChannel.Dev)) + container.channel = ReleaseChannel.Dev +else if (container.version.includes(ReleaseChannel.Canary)) + container.channel = ReleaseChannel.Canary + await connect(container.config.databaseUrl) diff --git a/src/lib/releaseChannel.ts b/src/lib/releaseChannel.ts new file mode 100644 index 0000000..328db8c --- /dev/null +++ b/src/lib/releaseChannel.ts @@ -0,0 +1,6 @@ +export enum ReleaseChannel { + Release = 'release', + Preview = 'preview', + Dev = 'dev', + Canary = 'canary', +} diff --git a/src/listeners/messageCreate.ts b/src/listeners/messageCreate.ts index 7643284..7cc400b 100644 --- a/src/listeners/messageCreate.ts +++ b/src/listeners/messageCreate.ts @@ -1,4 +1,5 @@ import { Learn, Text, type IText } from '../lib/databases' +import { ReleaseChannel } from '../lib/releaseChannel' import { Listener } from '@sapphire/framework' import type { Message, TextChannel } from 'discord.js' @@ -14,6 +15,7 @@ export class MessageCreateListener extends Listener { const content = msg.content.slice(this.container.prefix.length) if ( + this.container.channel === ReleaseChannel.Release && this.container.config.train.userId && msg.author.id === this.container.config.train.userId ) @@ -32,10 +34,11 @@ export class MessageCreateListener extends Listener { if ((msg.channel as TextChannel).nsfw) { ;(await Text.find()).forEach(data => datas.push(data)) - await new Text({ - text: content, - persona: `user:${msg.author.username.slice(0, 45).toLowerCase()}`, - }).save() + if (this.container.channel === ReleaseChannel.Release) + await new Text({ + text: content, + persona: `user:${msg.author.username.slice(0, 45).toLowerCase()}`, + }).save() } else { ;(await Text.find({ persona: 'muffin' })).forEach(data => datas.push(data),