Add resync commmand
This commit is contained in:
parent
091b8e5205
commit
0d6005044c
3 changed files with 45 additions and 2 deletions
38
src/commands/resync.ts
Normal file
38
src/commands/resync.ts
Normal 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.");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue