diff --git a/.dev.env b/.dev.env index 674b0f8..a0df6c9 100644 --- a/.dev.env +++ b/.dev.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=3.2.1 +BOT_VER=3.2 DEV BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=682942374040961060 @@ -15,8 +15,6 @@ BOT_CLIENTID=682942374040961060 ABOUT_FUNDING=https://ko-fi.com/vylpes ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app -CACHE_INTERVAL=1800000 # 30 minutes - DB_HOST=127.0.0.1 DB_PORT=3101 DB_NAME=vylbot diff --git a/.prod.env b/.prod.env index c5ef2af..6c9b8c9 100644 --- a/.prod.env +++ b/.prod.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=3.2.1 +BOT_VER=3.2 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=680083120896081954 @@ -15,8 +15,6 @@ BOT_CLIENTID=680083120896081954 ABOUT_FUNDING=https://ko-fi.com/vylpes ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app -CACHE_INTERVAL=1800000 # 30 minutes - DB_HOST=127.0.0.1 DB_PORT=3121 DB_NAME=vylbot diff --git a/.stage.env b/.stage.env index aed681a..6e29629 100644 --- a/.stage.env +++ b/.stage.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=3.2.1 +BOT_VER=3.2 BETA BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=1016767908740857949 @@ -15,8 +15,6 @@ BOT_CLIENTID=1016767908740857949 ABOUT_FUNDING=https://ko-fi.com/vylpes ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app -CACHE_INTERVAL=1800000 # 30 minutes - DB_HOST=127.0.0.1 DB_PORT=3111 DB_NAME=vylbot diff --git a/database/3.2.1/1709316734401-AddServerCacheDate/Up/01-Server.sql b/database/3.2.1/1709316734401-AddServerCacheDate/Up/01-Server.sql deleted file mode 100644 index a3b92b9..0000000 --- a/database/3.2.1/1709316734401-AddServerCacheDate/Up/01-Server.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE server -ADD LastCached datetime NOT NULL DEFAULT '2024-03-01 18:10:04'; \ No newline at end of file diff --git a/package.json b/package.json index 3dbd84b..81e8770 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vylbot-app", - "version": "3.2.1", + "version": "3.2.0", "description": "A discord bot made for Vylpes' Den", "main": "./dist/vylbot", "typings": "./dist", @@ -11,7 +11,6 @@ "test": "echo true", "db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js", "db:down": "typeorm migration:revert -d dist/database/dataSources/appDataSource.js", - "db:create": "typeorm migration:create ./src/database/migrations", "release": "np --no-publish" }, "repository": { @@ -42,8 +41,7 @@ "typeorm": "0.3.20" }, "resolutions": { - "**/semver": "^7.5.2", - "**/undici": "^5.28.3" + "**/semver": "^7.5.2" }, "devDependencies": { "@types/node": "^20.0.0", diff --git a/src/client/client.ts b/src/client/client.ts index c1ce5da..415d645 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -11,7 +11,6 @@ import { Util } from "./util"; import AppDataSource from "../database/dataSources/appDataSource"; import ButtonEventItem from "../contracts/ButtonEventItem"; import { ButtonEvent } from "../type/buttonEvent"; -import CacheHelper from "../helpers/CacheHelper"; export class CoreClient extends Client { private static _commandItems: ICommandItem[]; @@ -60,10 +59,6 @@ export class CoreClient extends Client { await super.login(process.env.BOT_TOKEN); - this.guilds.cache.forEach(async (guild) => { - await CacheHelper.UpdateServerCache(guild); - }); - this._util.loadEvents(this, CoreClient._eventItems); this._util.loadSlashCommands(this); } diff --git a/src/database/entities/Server.ts b/src/database/entities/Server.ts index 623f816..211ea9c 100644 --- a/src/database/entities/Server.ts +++ b/src/database/entities/Server.ts @@ -1,4 +1,4 @@ -import { Column, Entity, OneToMany } from "typeorm"; +import { Entity, OneToMany } from "typeorm"; import BaseEntity from "../../contracts/BaseEntity"; import Role from "./Role"; import Setting from "./Setting"; @@ -9,22 +9,14 @@ export default class Server extends BaseEntity { super(); this.Id = serverId; - this.LastCached = new Date(); } - @Column({ default: "2024-03-01 18:10:04" }) - LastCached: Date; - @OneToMany(() => Setting, x => x.Server) Settings: Setting[]; @OneToMany(() => Role, x => x.Server) Roles: Role[]; - public UpdateLastCached(lastCached: Date) { - this.LastCached = lastCached; - } - public AddSettingToServer(setting: Setting) { this.Settings.push(setting); } diff --git a/src/database/migrations/3.2.1/1709316734401-AddServerCacheDate.ts b/src/database/migrations/3.2.1/1709316734401-AddServerCacheDate.ts deleted file mode 100644 index 5104655..0000000 --- a/src/database/migrations/3.2.1/1709316734401-AddServerCacheDate.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm" -import MigrationHelper from "../../../helpers/MigrationHelper" - -export class AddServerCacheDate1709316734401 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - MigrationHelper.Up('1709316734401-AddServerCacheDate', '3.2.1', [ - "01-Server", - ], queryRunner); - } - - public async down(queryRunner: QueryRunner): Promise { - } - -} diff --git a/src/events/MemberEvents/GuildMemberAdd.ts b/src/events/MemberEvents/GuildMemberAdd.ts index 55f91a1..025be0b 100644 --- a/src/events/MemberEvents/GuildMemberAdd.ts +++ b/src/events/MemberEvents/GuildMemberAdd.ts @@ -1,13 +1,10 @@ import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; import EmbedColours from "../../constants/EmbedColours"; import SettingsHelper from "../../helpers/SettingsHelper"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function GuildMemberAdd(member: GuildMember) { if (!member.guild) return; - await CacheHelper.UpdateServerCache(member.guild); - const enabled = await SettingsHelper.GetSetting("event.member.add.enabled", member.guild.id); if (!enabled || enabled.toLowerCase() != "true") return; diff --git a/src/events/MemberEvents/GuildMemberRemove.ts b/src/events/MemberEvents/GuildMemberRemove.ts index 0f24f47..bf6ae96 100644 --- a/src/events/MemberEvents/GuildMemberRemove.ts +++ b/src/events/MemberEvents/GuildMemberRemove.ts @@ -1,13 +1,10 @@ import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; import EmbedColours from "../../constants/EmbedColours"; import SettingsHelper from "../../helpers/SettingsHelper"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function GuildMemberRemove(member: GuildMember) { if (!member.guild) return; - await CacheHelper.UpdateServerCache(member.guild); - const enabled = await SettingsHelper.GetSetting("event.member.remove.enabled", member.guild.id); if (!enabled || enabled.toLowerCase() != "true") return; diff --git a/src/events/MemberEvents/GuildMemberUpdate.ts b/src/events/MemberEvents/GuildMemberUpdate.ts index cd26953..0a7bbb1 100644 --- a/src/events/MemberEvents/GuildMemberUpdate.ts +++ b/src/events/MemberEvents/GuildMemberUpdate.ts @@ -1,11 +1,8 @@ import { GuildMember } from "discord.js"; import NicknameChanged from "./GuildMemberUpdate/NicknameChanged"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function GuildMemberUpdate(oldMember: GuildMember, newMember: GuildMember) { - await CacheHelper.UpdateServerCache(newMember.guild); - - if (oldMember.nickname !== newMember.nickname) { // Nickname change + if (oldMember.nickname != newMember.nickname) { // Nickname change await NicknameChanged(oldMember, newMember); } } \ No newline at end of file diff --git a/src/events/MessageEvents/MessageCreate.ts b/src/events/MessageEvents/MessageCreate.ts index 1dac122..a91250d 100644 --- a/src/events/MessageEvents/MessageCreate.ts +++ b/src/events/MessageEvents/MessageCreate.ts @@ -1,14 +1,11 @@ import { Message } from "discord.js"; import SettingsHelper from "../../helpers/SettingsHelper"; import VerificationCheck from "./MessageCreate/VerificationCheck"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function MessageCreate(message: Message) { if (!message.guild) return; if (message.author.bot) return; - await CacheHelper.UpdateServerCache(message.guild); - const isVerificationEnabled = await SettingsHelper.GetSetting("verification.enabled", message.guild.id); if (isVerificationEnabled && isVerificationEnabled.toLocaleLowerCase() == "true") { diff --git a/src/events/MessageEvents/MessageDelete.ts b/src/events/MessageEvents/MessageDelete.ts index f24ec5d..5f66300 100644 --- a/src/events/MessageEvents/MessageDelete.ts +++ b/src/events/MessageEvents/MessageDelete.ts @@ -2,14 +2,11 @@ import { EmbedBuilder, Message, TextChannel } from "discord.js"; import EmbedColours from "../../constants/EmbedColours"; import IgnoredChannel from "../../database/entities/IgnoredChannel"; import SettingsHelper from "../../helpers/SettingsHelper"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function MessageDelete(message: Message) { if (!message.guild) return; if (message.author.bot) return; - await CacheHelper.UpdateServerCache(message.guild); - const enabled = await SettingsHelper.GetSetting("event.message.delete.enabled", message.guild.id); if (!enabled || enabled.toLowerCase() != "true") return; diff --git a/src/events/MessageEvents/MessageUpdate.ts b/src/events/MessageEvents/MessageUpdate.ts index 27369a4..7564a2f 100644 --- a/src/events/MessageEvents/MessageUpdate.ts +++ b/src/events/MessageEvents/MessageUpdate.ts @@ -2,14 +2,10 @@ import { EmbedBuilder, Message, TextChannel } from "discord.js"; import EmbedColours from "../../constants/EmbedColours"; import IgnoredChannel from "../../database/entities/IgnoredChannel"; import SettingsHelper from "../../helpers/SettingsHelper"; -import CacheHelper from "../../helpers/CacheHelper"; export default async function MessageUpdate(oldMessage: Message, newMessage: Message) { if (!newMessage.guild) return; if (newMessage.author.bot) return; - - await CacheHelper.UpdateServerCache(newMessage.guild); - if (oldMessage.content == newMessage.content) return; const enabled = await SettingsHelper.GetSetting("event.message.update.enabled", newMessage.guild.id); diff --git a/src/helpers/CacheHelper.ts b/src/helpers/CacheHelper.ts deleted file mode 100644 index 22b6fd7..0000000 --- a/src/helpers/CacheHelper.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Guild } from "discord.js"; -import Server from "../database/entities/Server"; - -export default class CacheHelper { - public static async UpdateServerCache(guild: Guild) { - const cacheInterval = process.env.CACHE_INTERVAL; - - if (!cacheInterval) return; - - let server = await Server.FetchOneById(Server, guild.id); - - if (!server) { - server = new Server(guild.id); - await server.Save(Server, server); - - await CacheHelper.UpdateCache(guild); - } else if (server.LastCached.getTime() + Number(cacheInterval) < Date.now()) { - await CacheHelper.UpdateCache(guild); - } - } - - private static async UpdateCache(guild: Guild) { - console.log(`Updating cache for ${guild.name} (${guild.id})`); - - await guild.members.fetch(); - } -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 21e7711..ba74dd4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -865,9 +865,9 @@ "@types/node" "*" "@types/node@*", "@types/node@^20.0.0": - version "20.11.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.24.tgz#cc207511104694e84e9fb17f9a0c4c42d4517792" - integrity sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long== + version "20.11.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659" + integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== dependencies: undici-types "~5.26.4" @@ -4777,10 +4777,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici@5.27.2, undici@^5.28.3: - version "5.28.3" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.3.tgz#a731e0eff2c3fcfd41c1169a869062be222d1e5b" - integrity sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA== +undici@5.27.2: + version "5.27.2" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.27.2.tgz#a270c563aea5b46cc0df2550523638c95c5d4411" + integrity sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ== dependencies: "@fastify/busboy" "^2.0.0"