Add command to add servers from invites with eligibility check

This commit is contained in:
Dragory 2021-09-05 17:07:50 +03:00
parent 3b09d2d679
commit f13695c524
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
7 changed files with 151 additions and 39 deletions
backend/src/plugins/BotControl/commands

View file

@ -2,8 +2,9 @@ import { ApiPermissions } from "@shared/apiPermissions";
import { TextChannel } from "discord.js";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
import { isSnowflake } from "../../../utils";
import { DBDateFormat, isSnowflake } from "../../../utils";
import { botControlCmd } from "../types";
import moment from "moment-timezone";
export const AllowServerCmd = botControlCmd({
trigger: ["allow_server", "allowserver", "add_server", "addserver"],
@ -38,7 +39,20 @@ export const AllowServerCmd = botControlCmd({
await pluginData.state.configs.saveNewRevision(`guild-${args.guildId}`, "plugins: {}", msg.author.id);
if (args.userId) {
await pluginData.state.apiPermissionAssignments.addUser(args.guildId, args.userId, [ApiPermissions.EditConfig]);
await pluginData.state.apiPermissionAssignments.addUser(args.guildId, args.userId, [ApiPermissions.ManageAccess]);
}
if (args.userId !== msg.author.id) {
// Add temporary access to user who added server
await pluginData.state.apiPermissionAssignments.addUser(
args.guildId,
msg.author.id,
[ApiPermissions.ManageAccess],
moment
.utc()
.add(1, "hour")
.format(DBDateFormat),
);
}
sendSuccessMessage(pluginData, msg.channel as TextChannel, "Server is now allowed to use Zeppelin!");