mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-14 22:05:01 +00:00
Migrate Slowmode to new Plugin structure
This commit is contained in:
parent
ebcb28261b
commit
b4b8680431
14 changed files with 538 additions and 0 deletions
|
@ -0,0 +1,24 @@
|
|||
import { PluginData } from "knub";
|
||||
import { SlowmodePluginType } from "../types";
|
||||
import { GuildChannel, TextChannel } from "eris";
|
||||
|
||||
export async function clearBotSlowmodeFromUserId(
|
||||
pluginData: PluginData<SlowmodePluginType>,
|
||||
channel: GuildChannel & TextChannel,
|
||||
userId: string,
|
||||
force = false,
|
||||
) {
|
||||
try {
|
||||
// Remove permission overrides from the channel for this user
|
||||
// Previously we diffed the overrides so we could clear the "send messages" override without touching other
|
||||
// overrides. Unfortunately, it seems that was a bit buggy - we didn't always receive the event for the changed
|
||||
// overrides and then we also couldn't diff against them. For consistency's sake, we just delete the override now.
|
||||
await channel.deletePermission(userId);
|
||||
} catch (e) {
|
||||
if (!force) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
await pluginData.state.slowmodes.clearSlowmodeUser(channel.id, userId);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue