mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 12:25:02 +00:00
auto_reactions: check permissions ahead-of-time
This commit is contained in:
parent
d276d8e28a
commit
a404c7a97f
5 changed files with 36 additions and 17 deletions
|
@ -1,9 +1,9 @@
|
|||
import { Constants, GuildChannel } from "eris";
|
||||
import { hasPermissions } from "./hasPermissions";
|
||||
import { hasChannelPermissions } from "./hasChannelPermissions";
|
||||
|
||||
export function canReadChannel(channel: GuildChannel, memberId: string) {
|
||||
const channelPermissions = channel.permissionsOf(memberId);
|
||||
return hasPermissions(channelPermissions, [
|
||||
return hasChannelPermissions(channelPermissions, [
|
||||
Constants.Permissions.readMessages,
|
||||
Constants.Permissions.readMessageHistory,
|
||||
]);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Constants, Permission } from "eris";
|
||||
|
||||
export function hasPermissions(channelPermissions: Permission, permissions: number | number[]) {
|
||||
export function hasChannelPermissions(channelPermissions: Permission, permissions: number | number[]) {
|
||||
if (Boolean(channelPermissions.allow & Constants.Permissions.administrator)) {
|
||||
return true;
|
||||
}
|
8
backend/src/utils/memberHasChannelPermissions.ts
Normal file
8
backend/src/utils/memberHasChannelPermissions.ts
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { Constants, GuildChannel, Member, Permission } from "eris";
|
||||
import { PluginData } from "knub";
|
||||
import { hasChannelPermissions } from "./hasChannelPermissions";
|
||||
|
||||
export function memberHasChannelPermissions(member: Member, channel: GuildChannel, permissions: number | number[]) {
|
||||
const memberChannelPermissions = channel.permissionsOf(member.id);
|
||||
return hasChannelPermissions(memberChannelPermissions, permissions);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue