megis economy command, prisma database, prettier
This commit is contained in:
parent
7133abda87
commit
4c9832f56d
|
@ -1,2 +1,3 @@
|
|||
node_modules
|
||||
ecosystem.config.js
|
||||
ecosystem.config.js
|
||||
prisma/dev.db
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
const { PrismaClient } = require("@prisma/client")
|
||||
let prisma;
|
||||
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
prisma = new PrismaClient();
|
||||
} else {
|
||||
if (!global.prisma) {
|
||||
global.prisma = new PrismaClient();
|
||||
}
|
||||
prisma = global.prisma;
|
||||
}
|
||||
|
||||
module.exports = prisma;
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
const prisma = require("../clients/prisma");
|
||||
const megisTypes = {
|
||||
0: "bcaa megis PoroSad",
|
||||
7: "lemon sugar free megis BroBalt",
|
||||
15: "sugar free megis! PogChamp",
|
||||
30: "normal megis!!! AngelThump",
|
||||
};
|
||||
|
||||
const command = {
|
||||
name: "megis",
|
||||
desc: "economy command: get megis once per hour",
|
||||
restricted: false,
|
||||
mod: false,
|
||||
run: async (client, msg) => {
|
||||
const megis =
|
||||
Object.keys(megisTypes)[
|
||||
Math.floor(Math.random() * Object.keys(megisTypes).length)
|
||||
];
|
||||
|
||||
const user = await prisma.user.upsert({
|
||||
where: {
|
||||
userId: msg.senderUserID,
|
||||
},
|
||||
update: {
|
||||
megis: {
|
||||
update: {
|
||||
megis: {
|
||||
increment: parseInt(megis),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
create: {
|
||||
userId: msg.senderUserID,
|
||||
megis: {
|
||||
create: {
|
||||
megis: parseInt(megis),
|
||||
},
|
||||
},
|
||||
},
|
||||
include: {
|
||||
megis: true,
|
||||
},
|
||||
});
|
||||
|
||||
await client.say(
|
||||
msg.channelName,
|
||||
`${msg.displayName}, +${megis}! ${megisTypes[megis]} Total megis: ${user.megis.megis}`
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = { command };
|
|
@ -10,11 +10,14 @@
|
|||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@prisma/client": "^4.10.0",
|
||||
"dank-twitch-irc": "^4.3.0",
|
||||
"express": "^4.18.2"
|
||||
"express": "^4.18.2",
|
||||
"prettier": "^2.8.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^8.33.0",
|
||||
"eslint-plugin-react": "^7.32.2"
|
||||
"eslint-plugin-react": "^7.32.2",
|
||||
"prisma": "^4.10.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,24 @@
|
|||
lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
'@prisma/client': ^4.10.0
|
||||
dank-twitch-irc: ^4.3.0
|
||||
eslint: ^8.33.0
|
||||
eslint-plugin-react: ^7.32.2
|
||||
express: ^4.18.2
|
||||
prettier: ^2.8.4
|
||||
prisma: ^4.10.0
|
||||
|
||||
dependencies:
|
||||
'@prisma/client': 4.10.0_prisma@4.10.0
|
||||
dank-twitch-irc: 4.3.0
|
||||
express: 4.18.2
|
||||
prettier: 2.8.4
|
||||
|
||||
devDependencies:
|
||||
eslint: 8.33.0
|
||||
eslint-plugin-react: 7.32.2_eslint@8.33.0
|
||||
prisma: 4.10.0
|
||||
|
||||
packages:
|
||||
|
||||
|
@ -74,6 +80,28 @@ packages:
|
|||
fastq: 1.15.0
|
||||
dev: true
|
||||
|
||||
/@prisma/client/4.10.0_prisma@4.10.0:
|
||||
resolution: {integrity: sha512-sBmYb1S6SMKFIESaLMfKqWSalv3pH73cMCsFt9HslJvYjIIcKQCA6PDL2O4SZGWvc4JBef9cg5Gd7d9x3AtKjw==}
|
||||
engines: {node: '>=14.17'}
|
||||
requiresBuild: true
|
||||
peerDependencies:
|
||||
prisma: '*'
|
||||
peerDependenciesMeta:
|
||||
prisma:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@prisma/engines-version': 4.10.0-84.ca7fcef713137fa11029d519a9780db130cca91d
|
||||
prisma: 4.10.0
|
||||
dev: false
|
||||
|
||||
/@prisma/engines-version/4.10.0-84.ca7fcef713137fa11029d519a9780db130cca91d:
|
||||
resolution: {integrity: sha512-UVpmVlvSaGfY4ue+hh8CTkIesbuXCFUfrr8zk//+u85WwkKfWMtt6nLB2tNSzR1YO8eAA8+HqNf8LM7mnXIq5w==}
|
||||
dev: false
|
||||
|
||||
/@prisma/engines/4.10.0:
|
||||
resolution: {integrity: sha512-ZPPo7q+nQZdTlPFedS7mFXPE3oZ2kWtTh3GO4sku0XQ8ikLqEyinuTPJbQCw/8qel2xglIEQicsK6yI4Jgh20A==}
|
||||
requiresBuild: true
|
||||
|
||||
/@types/debug/4.1.7:
|
||||
resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
|
||||
dependencies:
|
||||
|
@ -1290,6 +1318,20 @@ packages:
|
|||
engines: {node: '>= 0.8.0'}
|
||||
dev: true
|
||||
|
||||
/prettier/2.8.4:
|
||||
resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/prisma/4.10.0:
|
||||
resolution: {integrity: sha512-xUHcF3Glc8QGgW8x0rfPITvyyTo04fskUdG7pI4kQbvDX/rhzDP4046x/FvazYqYHXMLR5/KTIi2p2Gth5vKOQ==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@prisma/engines': 4.10.0
|
||||
|
||||
/prop-types/15.8.1:
|
||||
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
|
||||
dependencies:
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
// This is your Prisma schema file,
|
||||
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "sqlite"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model User {
|
||||
id String @id @default(uuid())
|
||||
userId String @unique
|
||||
megis Megis?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Megis {
|
||||
id String @id @default(uuid())
|
||||
User User @relation(fields: [userId], references: [id])
|
||||
userId String @unique
|
||||
megis Int
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
|
@ -19,5 +19,5 @@ app.get("*", (req, res) => {
|
|||
});
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Example app listening on port ${port}`);
|
||||
console.log(`Front end listening on port ${port}`);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue