3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00

Finish preliminary rework, ready to test

This commit is contained in:
Dark 2021-06-02 04:07:50 +02:00
parent 57893e7f76
commit d0a1beb809
No known key found for this signature in database
GPG key ID: 2CD6ACB6B0A87B8A
177 changed files with 854 additions and 707 deletions

View file

@ -4,6 +4,7 @@ import { GuildPluginData } from "knub";
import { isDiscordRESTError, stripObjectToScalars, UnknownUser } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { logger } from "../../../logger";
import { GuildChannel, TextChannel, Permissions } from "discord.js";
export async function applyBotSlowmodeToUserId(
pluginData: GuildPluginData<SlowmodePluginType>,
@ -12,13 +13,17 @@ export async function applyBotSlowmodeToUserId(
) {
// Deny sendMessage permission from the user. If there are existing permission overwrites, take those into account.
const existingOverride = channel.permissionOverwrites.get(userId);
const newDeniedPermissions = (existingOverride ? existingOverride.deny : 0n) | Constants.Permissions.sendMessages;
const newAllowedPermissions = (existingOverride ? existingOverride.allow : 0n) & ~Constants.Permissions.sendMessages;
const newDeniedPermissions =
(existingOverride ? existingOverride.deny.bitfield : 0n) | Permissions.FLAGS.SEND_MESSAGES;
const newAllowedPermissions =
(existingOverride ? existingOverride.allow.bitfield : 0n) & ~Permissions.FLAGS.SEND_MESSAGES;
try {
await channel.editPermission(userId, newAllowedPermissions, newDeniedPermissions, "member");
await channel.overwritePermissions([
{ id: userId, allow: newAllowedPermissions, deny: newDeniedPermissions, type: "member" },
]);
} catch (e) {
const user = pluginData.client.user!.get(userId) || new UnknownUser({ id: userId });
const user = pluginData.client.users.fetch(userId) || new UnknownUser({ id: userId });
if (isDiscordRESTError(e) && e.code === 50013) {
logger.warn(