From 933d03ff13ce235f55f993f86cd57815645e42e4 Mon Sep 17 00:00:00 2001 From: Lukian LEIZOUR Date: Wed, 28 Aug 2024 21:33:03 +0200 Subject: [PATCH] modified docker image structure --- Dockerfile | 4 +++- docker-compose.yml | 7 ++----- src/data/lastreset.txt | 1 - src/events/ready.ts | 2 +- src/libs/mysql.ts | 26 ++++++++++++++++++++++++++ src/libs/quotaReset.ts | 18 ++++++------------ 6 files changed, 38 insertions(+), 20 deletions(-) delete mode 100644 src/data/lastreset.txt diff --git a/Dockerfile b/Dockerfile index 1c3c751..cdbe47c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,6 @@ RUN apt-get update && apt-get install -y \ libgif-dev \ librsvg2-dev -CMD ["npm", "start"] +RUN npm i -g typescript && npm i && npm run build + +CMD npm start diff --git a/docker-compose.yml b/docker-compose.yml index e2846c5..8e77e1a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,9 +4,6 @@ services: context: . dockerfile: DOCKERFILE network: host + image: chaisebot restart: always - volumes: - - /home/lucien/chaisebot:/app - dns: - - 1.1.1.1 - - 1.0.0.1 \ No newline at end of file + container_name: chaisebot \ No newline at end of file diff --git a/src/data/lastreset.txt b/src/data/lastreset.txt deleted file mode 100644 index 0139922..0000000 --- a/src/data/lastreset.txt +++ /dev/null @@ -1 +0,0 @@ -1709247600 \ No newline at end of file diff --git a/src/events/ready.ts b/src/events/ready.ts index f1cfde8..e567cf1 100644 --- a/src/events/ready.ts +++ b/src/events/ready.ts @@ -11,7 +11,7 @@ export default { setInterval(async () => { await checkReset(); - }, 1000); //10 * 60 * + }, 1000); setInterval(async () => { client.user?.setPresence({ activities: [{ name: '/ask | Bot fixed !', type: 3 }] }); diff --git a/src/libs/mysql.ts b/src/libs/mysql.ts index 4119c77..efe6b3a 100644 --- a/src/libs/mysql.ts +++ b/src/libs/mysql.ts @@ -1,4 +1,6 @@ import * as mysql from "mysql"; +import { rejects } from "node:assert"; +import { resolve } from "node:path"; export interface User { id: number, @@ -157,3 +159,27 @@ export function setWelcomePropertiy(connection: mysql.Connection, guild_id: Stri }) }) } + +export function getLastReset(connection: mysql.Connection) { + return new Promise((resolve, reject) => { + connection.query("SELECT MAX(date) FROM resets", (error, result) => { + if (error) { + reject(error); + } + + resolve(result) + }) + }) +} + +export function addReset(connection: mysql.Connection, date: number) { + return new Promise((resolve, reject) => { + connection.query(`INSERT INTO resets (date) VALUES (${date})`, (error, result) => { + if (error) { + reject(error); + } + + resolve(result) + }) + }) +} diff --git a/src/libs/quotaReset.ts b/src/libs/quotaReset.ts index 69f790e..cdc6e5f 100644 --- a/src/libs/quotaReset.ts +++ b/src/libs/quotaReset.ts @@ -1,21 +1,15 @@ import * as fs from "fs"; -import { connectToDb, resetQuota } from "./mysql.js"; - -function getLastResetDate(): number { - const data: string = fs.readFileSync("./src/data/lastreset.txt", "utf8"); - return parseInt(data); -} +import { connectToDb, resetQuota, getLastReset, addReset } from "./mysql.js"; export async function checkReset() { - const lastResetDate = getLastResetDate(); + const connection = await connectToDb(); + const lastReset = await getLastReset(connection); const now = Date.now() / 1000; - if (now - lastResetDate > 1000 * 60 * 60 * 24 * 30) { - fs.writeFileSync("./src/data/lastreset.txt", now.toString()); - - const connection = await connectToDb(); - + // @ts-ignore + if (lastReset[0] && now - lastReset[0].date > 1000 * 60 * 60 * 24 * 30) { await resetQuota(connection); + await addReset(connection, now) connection.end();