Merge branch '220601_docker_wip'
This commit is contained in:
commit
218c31231e
61 changed files with 738 additions and 312 deletions
|
@ -4,8 +4,6 @@ import { LogType } from "../../../data/LogType";
|
|||
import { noop } from "../../../utils";
|
||||
import { automodAction } from "../helpers";
|
||||
|
||||
const cleanDebugServer = process.env.TEMP_CLEAN_DEBUG_SERVER;
|
||||
|
||||
export const CleanAction = automodAction({
|
||||
configType: t.boolean,
|
||||
defaultConfig: false,
|
||||
|
@ -29,26 +27,13 @@ export const CleanAction = automodAction({
|
|||
}
|
||||
}
|
||||
|
||||
if (pluginData.guild.id === cleanDebugServer) {
|
||||
const toDeleteFormatted = Array.from(messageIdsToDeleteByChannelId.entries())
|
||||
.map(([channelId, messageIds]) => `- ${channelId}: ${messageIds.join(", ")}`)
|
||||
.join("\n");
|
||||
// tslint:disable-next-line:no-console
|
||||
console.log(`[DEBUG] Cleaning messages (${ruleName}):\n${toDeleteFormatted}`);
|
||||
}
|
||||
|
||||
for (const [channelId, messageIds] of messageIdsToDeleteByChannelId.entries()) {
|
||||
for (const id of messageIds) {
|
||||
pluginData.state.logs.ignoreLog(LogType.MESSAGE_DELETE, id);
|
||||
}
|
||||
|
||||
const channel = pluginData.guild.channels.cache.get(channelId as Snowflake) as TextChannel;
|
||||
await channel.bulkDelete(messageIds as Snowflake[]).catch((err) => {
|
||||
if (pluginData.guild.id === cleanDebugServer) {
|
||||
// tslint:disable-next-line:no-console
|
||||
console.error(`[DEBUG] Failed to bulk delete messages (${ruleName}): ${err}`);
|
||||
}
|
||||
});
|
||||
await channel.bulkDelete(messageIds as Snowflake[]).catch(noop);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { ApiPermissions } from "@shared/apiPermissions";
|
||||
import { TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
export const AddDashboardUserCmd = botControlCmd({
|
||||
trigger: ["add_dashboard_user"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { ApiPermissions } from "@shared/apiPermissions";
|
||||
import { TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { DBDateFormat, isGuildInvite, isSnowflake, resolveInvite } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
import moment from "moment-timezone";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { ApiPermissions } from "@shared/apiPermissions";
|
||||
import { TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { DBDateFormat, isSnowflake } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
import moment from "moment-timezone";
|
||||
|
@ -10,7 +10,7 @@ export const AllowServerCmd = botControlCmd({
|
|||
trigger: ["allow_server", "allowserver", "add_server", "addserver"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Guild, GuildChannel, TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { GuildInvite, isGuildInvite, resolveInvite, verboseUserMention } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
import { isEligible } from "../functions/isEligible";
|
||||
|
@ -9,7 +9,7 @@ export const ChannelToServerCmd = botControlCmd({
|
|||
trigger: ["channel_to_server", "channel2server"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Snowflake, TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { noop } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
|
@ -8,7 +8,7 @@ export const DisallowServerCmd = botControlCmd({
|
|||
trigger: ["disallow_server", "disallowserver", "remove_server", "removeserver"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import { Snowflake, TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
export const LeaveServerCmd = botControlCmd({
|
||||
trigger: ["leave_server", "leave_guild"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -2,7 +2,7 @@ import { TextChannel } from "discord.js";
|
|||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { AllowedGuild } from "../../../data/entities/AllowedGuild";
|
||||
import { ApiPermissionAssignment } from "../../../data/entities/ApiPermissionAssignment";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { resolveUser } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { resolveUser } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { TextChannel } from "discord.js";
|
||||
import { isOwnerPreFilter } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter } from "../../../pluginUtils";
|
||||
import { getActiveReload, setActiveReload } from "../activeReload";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
|
@ -7,7 +7,7 @@ export const ReloadGlobalPluginsCmd = botControlCmd({
|
|||
trigger: "bot_reload_global_plugins",
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
async run({ pluginData, message }) {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import { Snowflake, TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
export const ReloadServerCmd = botControlCmd({
|
||||
trigger: ["reload_server", "reload_guild"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import { TextChannel } from "discord.js";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
export const RemoveDashboardUserCmd = botControlCmd({
|
||||
trigger: ["remove_dashboard_user"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { TextChannel } from "discord.js";
|
||||
import escapeStringRegexp from "escape-string-regexp";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { isOwnerPreFilter } from "../../../pluginUtils";
|
||||
import { isStaffPreFilter } from "../../../pluginUtils";
|
||||
import { createChunkedMessage, getUser, sorter } from "../../../utils";
|
||||
import { botControlCmd } from "../types";
|
||||
|
||||
|
@ -9,7 +9,7 @@ export const ServersCmd = botControlCmd({
|
|||
trigger: ["servers", "guilds"],
|
||||
permission: null,
|
||||
config: {
|
||||
preFilters: [isOwnerPreFilter],
|
||||
preFilters: [isStaffPreFilter],
|
||||
},
|
||||
|
||||
signature: {
|
||||
|
|
|
@ -3,6 +3,8 @@ import * as t from "io-ts";
|
|||
import { BasePluginType, GlobalPluginData, typedGlobalEventListener } from "knub";
|
||||
import { AllowedGuilds } from "../../data/AllowedGuilds";
|
||||
import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint";
|
||||
import { env } from "../../env";
|
||||
import { Configs } from "../../data/Configs";
|
||||
|
||||
interface GuildAccessMonitorPluginType extends BasePluginType {
|
||||
config: {};
|
||||
|
@ -15,7 +17,7 @@ async function checkGuild(pluginData: GlobalPluginData<GuildAccessMonitorPluginT
|
|||
if (!(await pluginData.state.allowedGuilds.isAllowed(guild.id))) {
|
||||
// tslint:disable-next-line:no-console
|
||||
console.log(`Non-allowed server ${guild.name} (${guild.id}), leaving`);
|
||||
guild.leave();
|
||||
// guild.leave();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,8 +37,19 @@ export const GuildAccessMonitorPlugin = zeppelinGlobalPlugin<GuildAccessMonitorP
|
|||
}),
|
||||
],
|
||||
|
||||
beforeLoad(pluginData) {
|
||||
async beforeLoad(pluginData) {
|
||||
pluginData.state.allowedGuilds = new AllowedGuilds();
|
||||
|
||||
const defaultAllowedServers = env.DEFAULT_ALLOWED_SERVERS || [];
|
||||
const configs = new Configs();
|
||||
for (const serverId of defaultAllowedServers) {
|
||||
if (!(await pluginData.state.allowedGuilds.isAllowed(serverId))) {
|
||||
// tslint:disable-next-line:no-console
|
||||
console.log(`Adding allowed-by-default server ${serverId} to the allowed servers`);
|
||||
await pluginData.state.allowedGuilds.add(serverId);
|
||||
await configs.saveNewRevision(`guild-${serverId}`, "plugins: {}", 0);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
afterLoad(pluginData) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue