Compare commits

..

6 commits

Author SHA1 Message Date
RenovateBot 28c1f888de Update dependency @types/uuid to v9.0.7
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-27 00:00:51 +00:00
Ethan Lane 232e4b260f Merge branch 'main' into develop
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-23 17:30:14 +00:00
Ethan Lane b9c0151285 v0.2.1
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-23 17:30:00 +00:00
Ethan Lane e37d5969e0 0.2.1
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-23 17:28:40 +00:00
Ethan Lane 0d6005044c Add resync commmand 2023-11-23 17:28:15 +00:00
RenovateBot de9f3d4273 Update dependency @types/node to v20.9.2 (#93)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`20.9.0` -> `20.9.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.0/20.9.2) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/External/card-drop/pulls/93
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-20 18:31:24 +00:00
8 changed files with 60 additions and 10 deletions

View file

@ -7,7 +7,7 @@
# any secret values. # any secret values.
BOT_TOKEN= BOT_TOKEN=
BOT_VER=0.2 DEV BOT_VER=0.2.1 DEV
BOT_AUTHOR=Vylpes BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816 BOT_OWNERID=147392775707426816
BOT_CLIENTID=682942374040961060 BOT_CLIENTID=682942374040961060

View file

@ -7,7 +7,7 @@
# any secret values. # any secret values.
BOT_TOKEN= BOT_TOKEN=
BOT_VER=0.2 BOT_VER=0.2.1
BOT_AUTHOR=Vylpes BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816 BOT_OWNERID=147392775707426816
BOT_CLIENTID=1093810443589529631 BOT_CLIENTID=1093810443589529631

View file

@ -7,7 +7,7 @@
# any secret values. # any secret values.
BOT_TOKEN= BOT_TOKEN=
BOT_VER=0.2 BETA BOT_VER=0.2.1 BETA
BOT_AUTHOR=Vylpes BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816 BOT_OWNERID=147392775707426816
BOT_CLIENTID=1147976642942214235 BOT_CLIENTID=1147976642942214235

View file

@ -1,6 +1,6 @@
{ {
"name": "card-drop", "name": "card-drop",
"version": "0.2.0", "version": "0.2.1",
"main": "./dist/bot.js", "main": "./dist/bot.js",
"typings": "./dist", "typings": "./dist",
"scripts": { "scripts": {

View file

@ -7,8 +7,8 @@ import { CardRarity, CardRarityToString } from "../constants/CardRarity";
import Config from "../database/entities/app/Config"; import Config from "../database/entities/app/Config";
export default class CardSetupFunction { export default class CardSetupFunction {
public static async Execute() { public static async Execute(): Promise<boolean> {
if (await Config.GetValue('safemode') == "true") return; if (await Config.GetValue('safemode') == "true") return false;
try { try {
await this.ClearDatabase(); await this.ClearDatabase();
@ -16,7 +16,10 @@ export default class CardSetupFunction {
await this.ReadCards(); await this.ReadCards();
} catch { } catch {
await Config.SetValue('safemode', 'true'); await Config.SetValue('safemode', 'true');
return false;
} }
return true;
} }
private static async ClearDatabase() { private static async ClearDatabase() {

38
src/commands/resync.ts Normal file
View file

@ -0,0 +1,38 @@
import { CacheType, CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import { Command } from "../type/command";
import CardSetupFunction from "../Functions/CardSetupFunction";
import Config from "../database/entities/app/Config";
export default class Resync extends Command {
constructor() {
super();
super.CommandBuilder = new SlashCommandBuilder()
.setName('resync')
.setDescription('Resync the card database')
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator);
}
public override async execute(interaction: CommandInteraction<CacheType>) {
if (!interaction.isChatInputCommand()) return;
const whitelistedUsers = process.env.GDRIVESYNC_WHITELIST!.split(',');
if (!whitelistedUsers.find(x => x == interaction.user.id)) {
await interaction.reply("Only whitelisted users can use this command.");
return;
}
if (await CardSetupFunction.Execute()) {
if (await Config.GetValue('safemode') == "true") {
await Config.SetValue('safemode', 'false');
await interaction.reply("Resynced database and disabled safe mode.");
return;
}
await interaction.reply("Resynced database.");
} else {
await interaction.reply("Resync failed, safe mode has been activated until successful resync.");
}
}
}

View file

@ -4,6 +4,7 @@ import { CoreClient } from "./client/client";
import About from "./commands/about"; import About from "./commands/about";
import Drop from "./commands/drop"; import Drop from "./commands/drop";
import Gdrivesync from "./commands/gdrivesync"; import Gdrivesync from "./commands/gdrivesync";
import Resync from "./commands/resync";
// Test Command Imports // Test Command Imports
import Dropnumber from "./commands/stage/dropnumber"; import Dropnumber from "./commands/stage/dropnumber";
@ -20,6 +21,7 @@ export default class Registry {
CoreClient.RegisterCommand('about', new About()); CoreClient.RegisterCommand('about', new About());
CoreClient.RegisterCommand('drop', new Drop()); CoreClient.RegisterCommand('drop', new Drop());
CoreClient.RegisterCommand('gdrivesync', new Gdrivesync()); CoreClient.RegisterCommand('gdrivesync', new Gdrivesync());
CoreClient.RegisterCommand('resync', new Resync());
// Test Commands // Test Commands
CoreClient.RegisterCommand('dropnumber', new Dropnumber(), Environment.Test); CoreClient.RegisterCommand('dropnumber', new Dropnumber(), Environment.Test);

View file

@ -937,13 +937,20 @@
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
"@types/node@*", "@types/node@^20.0.0": "@types/node@*":
version "20.9.0" version "20.9.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.0.tgz#bfcdc230583aeb891cf51e73cfdaacdd8deae298" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.0.tgz#bfcdc230583aeb891cf51e73cfdaacdd8deae298"
integrity sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw== integrity sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==
dependencies: dependencies:
undici-types "~5.26.4" undici-types "~5.26.4"
"@types/node@^20.0.0":
version "20.9.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.2.tgz#002815c8e87fe0c9369121c78b52e800fadc0ac6"
integrity sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==
dependencies:
undici-types "~5.26.4"
"@types/normalize-package-data@^2.4.1": "@types/normalize-package-data@^2.4.1":
version "2.4.3" version "2.4.3"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c"
@ -994,9 +1001,9 @@
integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==
"@types/ws@^8.5.5": "@types/ws@^8.5.5":
version "8.5.9" version "8.5.10"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.9.tgz#384c489f99c83225a53f01ebc3eddf3b8e202a8c" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787"
integrity sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg== integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"