mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 04:25:01 +00:00
Merge branch 'master' into 220601_docker_wip
This commit is contained in:
commit
b48b93a6de
36 changed files with 242 additions and 178 deletions
|
@ -1,8 +1,8 @@
|
|||
import { GuildChannel, GuildMember } from "discord.js";
|
||||
import { GuildMember, GuildTextBasedChannel } from "discord.js";
|
||||
import { getMissingChannelPermissions } from "./getMissingChannelPermissions";
|
||||
import { readChannelPermissions } from "./readChannelPermissions";
|
||||
|
||||
export function canReadChannel(channel: GuildChannel, member: GuildMember) {
|
||||
export function canReadChannel(channel: GuildTextBasedChannel, member: GuildMember) {
|
||||
// Not missing permissions required to read the channel = can read channel
|
||||
return !getMissingChannelPermissions(member, channel, readChannelPermissions);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { GuildChannel, GuildMember, ThreadChannel } from "discord.js";
|
||||
import { GuildMember, GuildTextBasedChannel } from "discord.js";
|
||||
import { getMissingPermissions } from "./getMissingPermissions";
|
||||
|
||||
/**
|
||||
|
@ -7,7 +7,7 @@ import { getMissingPermissions } from "./getMissingPermissions";
|
|||
*/
|
||||
export function getMissingChannelPermissions(
|
||||
member: GuildMember,
|
||||
channel: GuildChannel | ThreadChannel,
|
||||
channel: GuildTextBasedChannel,
|
||||
requiredPermissions: number | bigint,
|
||||
): bigint {
|
||||
const memberChannelPermissions = channel.permissionsFor(member.id);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Snowflake, TextChannel } from "discord.js";
|
||||
import { GuildTextBasedChannel, Snowflake, TextChannel } from "discord.js";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { getChannelIdFromMessageId } from "../data/getChannelIdFromMessageId";
|
||||
import { isSnowflake } from "../utils";
|
||||
|
@ -7,7 +7,7 @@ const channelAndMessageIdRegex = /^(\d+)[\-\/](\d+)$/;
|
|||
const messageLinkRegex = /^https:\/\/(?:\w+\.)?discord(?:app)?\.com\/channels\/\d+\/(\d+)\/(\d+)$/i;
|
||||
|
||||
export interface MessageTarget {
|
||||
channel: TextChannel;
|
||||
channel: GuildTextBasedChannel;
|
||||
messageId: string;
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ export async function resolveMessageTarget(pluginData: GuildPluginData<any>, val
|
|||
}
|
||||
|
||||
const channel = pluginData.guild.channels.resolve(result.channelId as Snowflake);
|
||||
if (!channel || !(channel instanceof TextChannel)) {
|
||||
if (!channel?.isText()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue