Compare commits
6 commits
eb2e6d9bdb
...
41fd07f4e7
Author | SHA1 | Date | |
---|---|---|---|
41fd07f4e7 | |||
67fde66b9f | |||
1e57b19a61 | |||
d874273465 | |||
6d177d34b0 | |||
3e88e85e7e |
8 changed files with 369 additions and 345 deletions
|
@ -17,14 +17,7 @@ const compat = new FlatCompat({
|
|||
|
||||
export default [
|
||||
{
|
||||
ignores: [
|
||||
'**/.yarn/',
|
||||
'**/.pnp.*',
|
||||
'**/dist/',
|
||||
'**/.vscode/',
|
||||
'**/.idea/',
|
||||
'**/tsup.config.ts',
|
||||
],
|
||||
ignores: ['**/dist/', '**/.vscode/', '**/.idea/', '**/node_modules/'],
|
||||
},
|
||||
...compat.extends('plugin:@typescript-eslint/recommended', 'prettier'),
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"ext": "ts,json",
|
||||
"exec": "pnpm build --sourcemap && node dist/src",
|
||||
"exec": "tsc --sourcemap && cross-env NODE_ENV=development node --enable-source-maps dist/src",
|
||||
"ignore": ["dist/**/*.*"]
|
||||
}
|
||||
|
|
32
package.json
32
package.json
|
@ -1,38 +1,38 @@
|
|||
{
|
||||
"name": "muffinbot",
|
||||
"version": "4.0.0-pudding.r241027a",
|
||||
"version": "4.1.0-pudding.r241119a",
|
||||
"main": "dist/src/index.js",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@prisma/client": "^5.20.0",
|
||||
"@sapphire/decorators": "^6.1.0",
|
||||
"@sapphire/discord.js-utilities": "^7.3.0",
|
||||
"@sapphire/framework": "^5.2.1",
|
||||
"@prisma/client": "^5.22.0",
|
||||
"@sapphire/decorators": "^6.1.1",
|
||||
"@sapphire/discord.js-utilities": "^7.3.1",
|
||||
"@sapphire/framework": "^5.3.1",
|
||||
"@sapphire/pieces": "^4.3.1",
|
||||
"@sapphire/utilities": "^3.17.0",
|
||||
"discord-api-types": "^0.37.101",
|
||||
"@sapphire/utilities": "^3.18.1",
|
||||
"discord-api-types": "^0.37.105",
|
||||
"discord.js": "^14.16.3",
|
||||
"dokdo": "^1.0.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"semver": "^7.6.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
"@eslint/js": "^9.11.1",
|
||||
"@eslint/eslintrc": "^3.2.0",
|
||||
"@eslint/js": "^9.15.0",
|
||||
"@migan/prettier-config": "^1.2.0",
|
||||
"@types/node": "^22.7.4",
|
||||
"@types/node": "^22.9.0",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@typescript-eslint/eslint-plugin": "^8.7.0",
|
||||
"@typescript-eslint/parser": "^8.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.15.0",
|
||||
"@typescript-eslint/parser": "^8.15.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.11.1",
|
||||
"eslint": "^9.15.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-prettier": "^5.2.1",
|
||||
"globals": "^15.9.0",
|
||||
"globals": "^15.12.0",
|
||||
"nodemon": "^3.1.7",
|
||||
"prettier": "^3.3.3",
|
||||
"prisma": "^5.20.0",
|
||||
"typescript": "^5.6.2"
|
||||
"prisma": "^5.22.0",
|
||||
"typescript": "^5.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
|
|
606
pnpm-lock.yaml
606
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
@ -6,6 +6,7 @@ import {
|
|||
ComponentType,
|
||||
codeBlock,
|
||||
Message,
|
||||
ButtonStyle,
|
||||
} from 'discord.js'
|
||||
import {
|
||||
DetailedDescriptionCommandObject,
|
||||
|
@ -100,15 +101,19 @@ export default class DeleteLearnCommand extends Command {
|
|||
type: ComponentType.StringSelect,
|
||||
customId: `${CUSTOM_ID}@${user.id}`,
|
||||
placeholder: '지울 데이터를 선택해ㅈ주세요',
|
||||
options: [
|
||||
...options,
|
||||
{
|
||||
label: '❌ 취소',
|
||||
description: '아무것도 삭제하지 않아요.',
|
||||
value: `${CUSTOM_ID}-cancel`,
|
||||
options,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: ComponentType.ActionRow,
|
||||
components: [
|
||||
{
|
||||
type: ComponentType.Button,
|
||||
customId: `${CUSTOM_ID}-cancel`,
|
||||
label: '취소',
|
||||
style: ButtonStyle.Danger,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
|
|
@ -31,18 +31,6 @@ export default class DeleteLearnHandler extends InteractionHandler {
|
|||
const db = this.container.database
|
||||
const decimalRegexp = /^[0-9]/g
|
||||
|
||||
if (id === 'cancel')
|
||||
return await interaction.editReply({
|
||||
embeds: [
|
||||
{
|
||||
title: '삭제',
|
||||
description: '아무것도 삭제하지 않았어요.',
|
||||
color: this.container.embedColors.fail,
|
||||
},
|
||||
],
|
||||
components: [],
|
||||
})
|
||||
|
||||
const itemId = interaction.component.options.map(item =>
|
||||
item.value.endsWith(`${id}`) ? item.label.match(decimalRegexp)![0] : null,
|
||||
)
|
||||
|
|
31
src/interaction-handlers/deleteLearnCancel.ts
Normal file
31
src/interaction-handlers/deleteLearnCancel.ts
Normal file
|
@ -0,0 +1,31 @@
|
|||
import { ApplyOptions } from '@sapphire/decorators'
|
||||
import {
|
||||
InteractionHandler,
|
||||
InteractionHandlerTypes,
|
||||
} from '@sapphire/framework'
|
||||
import { ButtonInteraction } from 'discord.js'
|
||||
|
||||
@ApplyOptions<InteractionHandler.Options>({
|
||||
interactionHandlerType: InteractionHandlerTypes.Button,
|
||||
})
|
||||
export default class DeleteLearnCancelHandler extends InteractionHandler {
|
||||
private _CUSTOM_ID = 'maa$deleteLearn'
|
||||
|
||||
public async parse(interaction: ButtonInteraction) {
|
||||
if (interaction.customId !== `${this._CUSTOM_ID}-cancel`) return this.none()
|
||||
return this.some()
|
||||
}
|
||||
|
||||
public async run(interaction: ButtonInteraction) {
|
||||
return await interaction.update({
|
||||
embeds: [
|
||||
{
|
||||
title: '삭제',
|
||||
description: '아무것도 삭제하지 않았어요.',
|
||||
color: this.container.embedColors.fail,
|
||||
},
|
||||
],
|
||||
components: [],
|
||||
})
|
||||
}
|
||||
}
|
|
@ -10,6 +10,7 @@ export default class MessageCreateListener extends Listener {
|
|||
aliases: this.container.dokdoAliases,
|
||||
owners: [this.container.config.bot.owner_ID],
|
||||
prefix: prefix,
|
||||
secrets: [process.env.DATABASE_URL!],
|
||||
noPerm,
|
||||
})
|
||||
if (msg.author.bot) return
|
||||
|
|
Loading…
Reference in a new issue