studio script and balance command
This commit is contained in:
@@ -12,12 +12,12 @@
|
|||||||
"typescript": "^5"
|
"typescript": "^5"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"generate": "drizzle-kit generate",
|
"generate": "docker compose run --rm app bun drizzle-kit generate",
|
||||||
"migrate": "drizzle-kit migrate",
|
"migrate": "docker compose run --rm app bun drizzle-kit migrate",
|
||||||
"db:push": "drizzle-kit push",
|
"db:push": "docker compose run --rm app bun drizzle-kit push",
|
||||||
"deploy": "docker compose run --rm app bun src/scripts/deploy.ts",
|
"deploy": "docker compose run --rm app bun src/scripts/deploy.ts",
|
||||||
"dev": "bun --watch src/index.ts",
|
"dev": "bun --watch src/index.ts",
|
||||||
"db:studio": "drizzle-kit studio"
|
"db:studio": "docker compose run --rm -p 8080:8080 app bun drizzle-kit studio --host 127.0.0.1 --port 8080"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"discord.js": "^14.25.1",
|
"discord.js": "^14.25.1",
|
||||||
|
|||||||
@@ -6,30 +6,21 @@ import { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } from "discord.
|
|||||||
export const balance = createCommand({
|
export const balance = createCommand({
|
||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName("balance")
|
.setName("balance")
|
||||||
.setDescription("Check your balance or another user's balance (admins only)")
|
.setDescription("Check your balance")
|
||||||
.addUserOption(option =>
|
|
||||||
option
|
|
||||||
.setName("user")
|
|
||||||
.setDescription("User to view balance of (admin only)")
|
|
||||||
.setRequired(false)
|
|
||||||
),
|
|
||||||
|
|
||||||
execute: async (interaction) => {
|
|
||||||
const isAdmin = interaction.memberPermissions?.has(PermissionFlagsBits.Administrator) || false;
|
|
||||||
|
|
||||||
const target = interaction.options.getUser("user");
|
|
||||||
const finalTarget = (!isAdmin || !target) ? interaction.user : target;
|
|
||||||
|
|
||||||
|
,execute: async (interaction) => {
|
||||||
|
const user = interaction.user;
|
||||||
// Ensure user exists in DB
|
// Ensure user exists in DB
|
||||||
let dbUser = await getUserById(finalTarget.id);
|
let dbUser = await getUserById(user.id);
|
||||||
if (!dbUser) {
|
if (!dbUser) {
|
||||||
await createUser(finalTarget.id);
|
await createUser(user.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
const balance = await getUserBalance(finalTarget.id);
|
const balance = await getUserBalance(user.id);
|
||||||
|
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle(`${finalTarget.username}'s Balance`)
|
.setTitle(`${user.username}'s Balance`)
|
||||||
.setDescription(`💰 **${balance} coins**`)
|
.setDescription(`💰 **${balance} coins**`)
|
||||||
.setColor("Green");
|
.setColor("Green");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user