Add maintenance mode
This commit is contained in:
@@ -20,6 +20,7 @@ module.exports = {
|
|||||||
{ name: 'bot', value: 'bot' },
|
{ name: 'bot', value: 'bot' },
|
||||||
{ name: 'reset_cd', value: 'reset_cd' },
|
{ name: 'reset_cd', value: 'reset_cd' },
|
||||||
{ name: 'add_xp', value: 'add_xp' },
|
{ name: 'add_xp', value: 'add_xp' },
|
||||||
|
{ name: 'toggle_maintenance', value: 'toggle_maintenance' },
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.addStringOption((option) =>
|
.addStringOption((option) =>
|
||||||
@@ -111,6 +112,14 @@ module.exports = {
|
|||||||
ephemeral: false
|
ephemeral: false
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case "toggle_maintenance":
|
||||||
|
let maintenance = await GeneralUtils.getBotProperty("maintenance");
|
||||||
|
await GeneralUtils.setBotProperty("maintenance", !maintenance);
|
||||||
|
interaction.reply({
|
||||||
|
content: `Maintenance mode is now ${!maintenance}`,
|
||||||
|
ephemeral: false
|
||||||
|
});
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
interaction.reply({
|
interaction.reply({
|
||||||
content: `Your permission level is ${await UserUtils.getPermissionLevel(interaction.member)}`,
|
content: `Your permission level is ${await UserUtils.getPermissionLevel(interaction.member)}`,
|
||||||
|
|||||||
@@ -2,11 +2,18 @@ require("dotenv").config();
|
|||||||
const { REST } = require("@discordjs/rest");
|
const { REST } = require("@discordjs/rest");
|
||||||
const { Routes } = require("discord-api-types/v10")
|
const { Routes } = require("discord-api-types/v10")
|
||||||
const { Guild, User } = require("../models");
|
const { Guild, User } = require("../models");
|
||||||
const { UserUtils } = require("../util");
|
const { UserUtils, GeneralUtils } = require("../util");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: "interactionCreate",
|
name: "interactionCreate",
|
||||||
async execute (interaction) {
|
async execute (interaction) {
|
||||||
|
let isMaintenance = await GeneralUtils.getBotProperty("maintenance");
|
||||||
|
let permissionLevel = await UserUtils.getPermissionLevel(interaction.member);
|
||||||
|
|
||||||
|
if (isMaintenance && permissionLevel < 2) {
|
||||||
|
return interaction.reply({ content: "The bot is currently undergoing maintenance. Please try again later.", ephemeral: true });
|
||||||
|
}
|
||||||
|
|
||||||
let isRegistered = await UserUtils.registrationCheck(interaction);
|
let isRegistered = await UserUtils.registrationCheck(interaction);
|
||||||
if (!isRegistered) return;
|
if (!isRegistered) return;
|
||||||
console.log("User is registered");
|
console.log("User is registered");
|
||||||
@@ -41,7 +48,6 @@ module.exports = {
|
|||||||
//check if user has permissions to run the command
|
//check if user has permissions to run the command
|
||||||
//TODO: pass down this user object to avoid duplicate queries
|
//TODO: pass down this user object to avoid duplicate queries
|
||||||
let user = await UserUtils.getUserByDiscordId(interaction.member.id);
|
let user = await UserUtils.getUserByDiscordId(interaction.member.id);
|
||||||
let permissionLevel = await UserUtils.getPermissionLevel(interaction.member);
|
|
||||||
if (command.permissionLevel > permissionLevel) {
|
if (command.permissionLevel > permissionLevel) {
|
||||||
interaction.reply({
|
interaction.reply({
|
||||||
content: `You do not have permission to run this command`,
|
content: `You do not have permission to run this command`,
|
||||||
|
|||||||
Reference in New Issue
Block a user