mirror of
https://github.com/discordeno/discordeno.git
synced 2026-09-17 08:47:22 +00:00
add error event and handling
This commit is contained in:
+16
-1
@@ -16,6 +16,7 @@ import {
|
||||
ChannelEditOptions,
|
||||
} from "../types/channel.ts";
|
||||
import { logYellow } from "../utils/logger.ts";
|
||||
import { eventHandlers } from "../module/client.ts";
|
||||
|
||||
/** Checks if a user id or a role id has permission in this channel */
|
||||
export function hasChannelPermission(
|
||||
@@ -45,6 +46,7 @@ export async function getMessage(channel: Channel, id: string) {
|
||||
if (
|
||||
!botHasPermission(channel.guildID, [Permissions.VIEW_CHANNEL])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_VIEW_CHANNEL);
|
||||
throw new Error(Errors.MISSING_VIEW_CHANNEL);
|
||||
}
|
||||
if (
|
||||
@@ -53,6 +55,7 @@ export async function getMessage(channel: Channel, id: string) {
|
||||
[Permissions.READ_MESSAGE_HISTORY],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_READ_MESSAGE_HISTORY);
|
||||
throw new Error(Errors.MISSING_READ_MESSAGE_HISTORY);
|
||||
}
|
||||
}
|
||||
@@ -75,6 +78,7 @@ export async function getMessages(
|
||||
if (
|
||||
!botHasPermission(channel.guildID, [Permissions.VIEW_CHANNEL])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_VIEW_CHANNEL);
|
||||
throw new Error(Errors.MISSING_VIEW_CHANNEL);
|
||||
}
|
||||
if (
|
||||
@@ -83,6 +87,7 @@ export async function getMessages(
|
||||
[Permissions.READ_MESSAGE_HISTORY],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_READ_MESSAGE_HISTORY);
|
||||
throw new Error(Errors.MISSING_READ_MESSAGE_HISTORY);
|
||||
}
|
||||
}
|
||||
@@ -115,6 +120,7 @@ export async function sendMessage(
|
||||
if (
|
||||
!botHasPermission(channel.guildID, [Permissions.SEND_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_SEND_MESSAGES);
|
||||
throw new Error(Errors.MISSING_SEND_MESSAGES);
|
||||
}
|
||||
if (
|
||||
@@ -124,11 +130,13 @@ export async function sendMessage(
|
||||
[Permissions.SEND_TTS_MESSAGES],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_SEND_TTS_MESSAGE);
|
||||
throw new Error(Errors.MISSING_SEND_TTS_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
if (content.content && content.content.length > 2000) {
|
||||
eventHandlers.error?.(Errors.MESSAGE_MAX_LENGTH);
|
||||
throw new Error(Errors.MESSAGE_MAX_LENGTH);
|
||||
}
|
||||
|
||||
@@ -150,9 +158,13 @@ export function deleteMessages(
|
||||
channel.guildID &&
|
||||
!botHasPermission(channel.guildID, [Permissions.MANAGE_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
if (ids.length < 2) throw new Error(Errors.DELETE_MESSAGES_MIN);
|
||||
if (ids.length < 2) {
|
||||
eventHandlers.error?.(Errors.DELETE_MESSAGES_MIN);
|
||||
throw new Error(Errors.DELETE_MESSAGES_MIN);
|
||||
}
|
||||
|
||||
if (ids.length > 100) {
|
||||
logYellow(
|
||||
@@ -172,6 +184,7 @@ export function getChannelInvites(channel: Channel) {
|
||||
channel.guildID &&
|
||||
!botHasPermission(channel.guildID, [Permissions.MANAGE_CHANNELS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_CHANNELS);
|
||||
throw new Error(Errors.MISSING_MANAGE_CHANNELS);
|
||||
}
|
||||
return RequestManager.get(endpoints.CHANNEL_INVITES(channel.id));
|
||||
@@ -186,6 +199,7 @@ export function createInvite(channel: Channel, options: CreateInviteOptions) {
|
||||
[Permissions.CREATE_INSTANT_INVITE],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_CREATE_INSTANT_INVITE);
|
||||
throw new Error(Errors.MISSING_CREATE_INSTANT_INVITE);
|
||||
}
|
||||
return RequestManager.post(endpoints.CHANNEL_INVITES(channel.id), options);
|
||||
@@ -197,6 +211,7 @@ export function getChannelWebhooks(channel: Channel) {
|
||||
channel.guildID &&
|
||||
!botHasPermission(channel.guildID, [Permissions.MANAGE_WEBHOOKS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_WEBHOOKS);
|
||||
throw new Error(Errors.MISSING_MANAGE_WEBHOOKS);
|
||||
}
|
||||
return RequestManager.get(endpoints.CHANNEL_WEBHOOKS(channel.id));
|
||||
|
||||
+34
-3
@@ -16,7 +16,7 @@ import { CreateEmojisOptions, PositionSwap, EditEmojisOptions, CreateRoleOptions
|
||||
import { RoleData } from "../types/role.ts"
|
||||
import { createRole } from "../structures/role.ts"
|
||||
import { Intents } from "../types/options.ts"
|
||||
import { identifyPayload } from "../module/client.ts"
|
||||
import { identifyPayload, eventHandlers } from "../module/client.ts"
|
||||
import { requestAllMembers } from "../module/shardingManager.ts"
|
||||
|
||||
/** Gets an array of all the channels ids that are the children of this category. */
|
||||
@@ -64,6 +64,7 @@ export function guildBannerURL(guild: Guild, size: ImageSize = 128, format?: Ima
|
||||
/** Create a channel in your server. Bot needs MANAGE_CHANNEL permissions in the server. */
|
||||
export async function createGuildChannel(guild: Guild, name: string, options: CreateChannelOptions) {
|
||||
if (!botHasPermission(guild.id, [Permissions.MANAGE_CHANNELS])) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_CHANNELS);
|
||||
throw new Error(Errors.MISSING_MANAGE_CHANNELS);
|
||||
}
|
||||
const result =
|
||||
@@ -122,6 +123,7 @@ options: CreateEmojisOptions,
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_EMOJIS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_EMOJIS);
|
||||
throw new Error(Errors.MISSING_MANAGE_EMOJIS);
|
||||
}
|
||||
return RequestManager.post(endpoints.GUILD_EMOJIS(guildID), {
|
||||
@@ -136,6 +138,7 @@ export function editEmoji(guildID: string, id: string, options: EditEmojisOption
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_EMOJIS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_EMOJIS);
|
||||
throw new Error(Errors.MISSING_MANAGE_EMOJIS);
|
||||
}
|
||||
return RequestManager.patch(endpoints.GUILD_EMOJI(guildID, id), {
|
||||
@@ -149,6 +152,7 @@ export function deleteEmoji(guildID: string, id: string, reason?: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_EMOJIS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_EMOJIS);
|
||||
throw new Error(Errors.MISSING_MANAGE_EMOJIS);
|
||||
}
|
||||
return RequestManager.delete(
|
||||
@@ -162,6 +166,7 @@ export async function createGuildRole(guild: Guild, options: CreateRoleOptions,
|
||||
if (
|
||||
!botHasPermission(guild.id, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
const role_data = await RequestManager.post(
|
||||
@@ -184,6 +189,7 @@ export function editRole(guildID: string, id: string, options: CreateRoleOptions
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
return RequestManager.patch(endpoints.GUILD_ROLE(guildID, id), options);
|
||||
@@ -194,6 +200,7 @@ export function deleteRole(guildID: string, id: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
return RequestManager.delete(endpoints.GUILD_ROLE(guildID, id));
|
||||
@@ -207,6 +214,7 @@ export function getRoles(guildID: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
return RequestManager.get(endpoints.GUILD_ROLES(guildID));
|
||||
@@ -217,6 +225,7 @@ export function swapRoles(guildID: string, rolePositons: PositionSwap) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
return RequestManager.patch(endpoints.GUILD_ROLES(guildID), rolePositons);
|
||||
@@ -224,10 +233,14 @@ return RequestManager.patch(endpoints.GUILD_ROLES(guildID), rolePositons);
|
||||
|
||||
/** Check how many members would be removed from the server in a prune operation. Requires the KICK_MEMBERS permission */
|
||||
export async function getPruneCount(guildID: string, days: number) {
|
||||
if (days < 1) throw new Error(Errors.PRUNE_MIN_DAYS);
|
||||
if (days < 1) {
|
||||
eventHandlers.error?.(Errors.PRUNE_MIN_DAYS);
|
||||
throw new Error(Errors.PRUNE_MIN_DAYS);
|
||||
}
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.KICK_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_KICK_MEMBERS);
|
||||
throw new Error(Errors.MISSING_KICK_MEMBERS);
|
||||
}
|
||||
const result = (await RequestManager.get(
|
||||
@@ -239,10 +252,14 @@ return result.pruned;
|
||||
|
||||
/** Begin pruning all members in the given time period */
|
||||
export function pruneMembers(guildID: string, days: number) {
|
||||
if (days < 1) throw new Error(Errors.PRUNE_MIN_DAYS);
|
||||
if (days < 1) {
|
||||
eventHandlers.error?.(Errors.PRUNE_MIN_DAYS);
|
||||
throw new Error(Errors.PRUNE_MIN_DAYS);
|
||||
}
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.KICK_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_KICK_MEMBERS);
|
||||
throw new Error(Errors.MISSING_KICK_MEMBERS);
|
||||
}
|
||||
return RequestManager.post(endpoints.GUILD_PRUNE(guildID), { days });
|
||||
@@ -250,6 +267,7 @@ return RequestManager.post(endpoints.GUILD_PRUNE(guildID), { days });
|
||||
|
||||
export function fetchMembers(guild: Guild, options?: FetchMembersOptions) {
|
||||
if (!(identifyPayload.intents & Intents.GUILD_MEMBERS)) {
|
||||
eventHandlers.error?.(Errors.MISSING_INTENT_GUILD_MEMBERS);
|
||||
throw new Error(Errors.MISSING_INTENT_GUILD_MEMBERS);
|
||||
}
|
||||
|
||||
@@ -261,6 +279,7 @@ return new Promise((resolve) => {
|
||||
/** Returns the audit logs for the guild. Requires VIEW AUDIT LOGS permission */
|
||||
export function getAuditLogs(guildID: string, options: GetAuditLogsOptions) {
|
||||
if (!botHasPermission(guildID, [Permissions.VIEW_AUDIT_LOG])) {
|
||||
eventHandlers.error?.(Errors.MISSING_VIEW_AUDIT_LOG);
|
||||
throw new Error(Errors.MISSING_VIEW_AUDIT_LOG);
|
||||
}
|
||||
|
||||
@@ -277,6 +296,7 @@ export function getEmbed(guildID: string, ) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.get(endpoints.GUILD_EMBED(guildID));
|
||||
@@ -287,6 +307,7 @@ export function editEmbed(guildID: string, enabled: boolean, channelID?: string
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.patch(
|
||||
@@ -305,6 +326,7 @@ export function getIntegrations(guildID: string, ) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.get(endpoints.GUILD_INTEGRATIONS(guildID));
|
||||
@@ -315,6 +337,7 @@ export function editIntegration(guildID: string, id: string, options: EditIntegr
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.patch(
|
||||
@@ -328,6 +351,7 @@ export function deleteIntegration(guildID: string, id: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.delete(endpoints.GUILD_INTEGRATION(guildID, id));
|
||||
@@ -338,6 +362,7 @@ export function syncIntegration(guildID: string, id: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.post(endpoints.GUILD_INTEGRATION_SYNC(guildID, id));
|
||||
@@ -348,6 +373,7 @@ export function getBans(guildID: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.BAN_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_BAN_MEMBERS);
|
||||
throw new Error(Errors.MISSING_BAN_MEMBERS);
|
||||
}
|
||||
return RequestManager.get(endpoints.GUILD_BANS(guildID));
|
||||
@@ -358,6 +384,7 @@ export function ban(guildID: string, id: string, options: BanOptions) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.BAN_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_BAN_MEMBERS);
|
||||
throw new Error(Errors.MISSING_BAN_MEMBERS);
|
||||
}
|
||||
return RequestManager.put(endpoints.GUILD_BAN(guildID, id), options);
|
||||
@@ -368,6 +395,7 @@ export function unban(guildID: string, id: string) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.BAN_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_BAN_MEMBERS);
|
||||
throw new Error(Errors.MISSING_BAN_MEMBERS);
|
||||
}
|
||||
return RequestManager.delete(endpoints.GUILD_BAN(guildID, id));
|
||||
@@ -413,6 +441,7 @@ export function editGuild(guildID: string, options: GuildEditOptions) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.patch(endpoints.GUILD(guildID), options);
|
||||
@@ -423,6 +452,7 @@ export function getInvites(guildID: string, ) {
|
||||
if (
|
||||
!botHasPermission(guildID, [Permissions.MANAGE_GUILD])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_GUILD);
|
||||
throw new Error(Errors.MISSING_MANAGE_GUILD);
|
||||
}
|
||||
return RequestManager.get(endpoints.GUILD_INVITES(guildID));
|
||||
@@ -441,6 +471,7 @@ return RequestManager.get(endpoints.GUILD_REGIONS(guildID));
|
||||
/** Returns a list of guild webhooks objects. Requires the MANAGE_WEBHOOKs permission. */
|
||||
export function getWebhooks(guildID: string, ) {
|
||||
if (!botHasPermission(guildID, [Permissions.MANAGE_WEBHOOKS])) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_WEBHOOKS);
|
||||
throw new Error(Errors.MISSING_MANAGE_WEBHOOKS);
|
||||
}
|
||||
|
||||
|
||||
+12
-1
@@ -7,7 +7,7 @@ import {
|
||||
higherRolePosition,
|
||||
botHasPermission,
|
||||
} from "../utils/permissions.ts";
|
||||
import { botID } from "../module/client.ts";
|
||||
import { botID, eventHandlers } from "../module/client.ts";
|
||||
import { Guild } from "../structures/guild.ts";
|
||||
import { Permissions } from "../types/permission.ts";
|
||||
import { Errors } from "../types/errors.ts";
|
||||
@@ -45,10 +45,12 @@ export function addRole(
|
||||
botsHighestRole &&
|
||||
!higherRolePosition(guild.id, botsHighestRole.id, roleID)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
throw new Error(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
}
|
||||
|
||||
if (!botHasPermission(guild.id, [Permissions.MANAGE_ROLES])) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
|
||||
@@ -70,10 +72,12 @@ export function removeRole(
|
||||
botsHighestRole &&
|
||||
!higherRolePosition(guild.id, botsHighestRole.id, roleID)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
throw new Error(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
}
|
||||
|
||||
if (!botHasPermission(guild.id, [Permissions.MANAGE_ROLES])) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
return RequestManager.delete(
|
||||
@@ -114,10 +118,12 @@ export function kick(guild: Guild, memberID: string, reason?: string) {
|
||||
botsHighestRole && membersHighestRole &&
|
||||
botsHighestRole.position <= membersHighestRole.position
|
||||
) {
|
||||
eventHandlers.error?.(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
throw new Error(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
||||
}
|
||||
|
||||
if (!botHasPermission(guild.id, [Permissions.KICK_MEMBERS])) {
|
||||
eventHandlers.error?.(Errors.MISSING_KICK_MEMBERS);
|
||||
throw new Error(Errors.MISSING_KICK_MEMBERS);
|
||||
}
|
||||
return RequestManager.delete(
|
||||
@@ -134,9 +140,11 @@ export function editMember(
|
||||
) {
|
||||
if (options.nick) {
|
||||
if (options.nick.length > 32) {
|
||||
eventHandlers.error?.(Errors.NICKNAMES_MAX_LENGTH);
|
||||
throw new Error(Errors.NICKNAMES_MAX_LENGTH);
|
||||
}
|
||||
if (!botHasPermission(guild.id, [Permissions.MANAGE_NICKNAMES])) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_NICKNAMES);
|
||||
throw new Error(Errors.MISSING_MANAGE_NICKNAMES);
|
||||
}
|
||||
}
|
||||
@@ -145,6 +153,7 @@ export function editMember(
|
||||
options.roles &&
|
||||
!botHasPermission(guild.id, [Permissions.MANAGE_ROLES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_ROLES);
|
||||
throw new Error(Errors.MISSING_MANAGE_ROLES);
|
||||
}
|
||||
|
||||
@@ -153,6 +162,7 @@ export function editMember(
|
||||
if (
|
||||
!botHasPermission(guild.id, [Permissions.MUTE_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MUTE_MEMBERS);
|
||||
throw new Error(Errors.MISSING_MUTE_MEMBERS);
|
||||
}
|
||||
}
|
||||
@@ -161,6 +171,7 @@ export function editMember(
|
||||
options.deaf &&
|
||||
!botHasPermission(guild.id, [Permissions.DEAFEN_MEMBERS])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_DEAFEN_MEMBERS);
|
||||
throw new Error(Errors.MISSING_DEAFEN_MEMBERS);
|
||||
}
|
||||
|
||||
|
||||
+9
-1
@@ -1,6 +1,6 @@
|
||||
import { Message, createMessage } from "../structures/message.ts";
|
||||
import { delay } from "https://deno.land/std@0.50.0/async/delay.ts";
|
||||
import { botID } from "../module/client.ts";
|
||||
import { botID, eventHandlers } from "../module/client.ts";
|
||||
import { hasChannelPermission } from "./channel.ts";
|
||||
import { Permissions } from "../types/permission.ts";
|
||||
import { Errors } from "../types/errors.ts";
|
||||
@@ -27,6 +27,7 @@ export async function deleteMessage(
|
||||
[Permissions.MANAGE_MESSAGES],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
}
|
||||
@@ -45,6 +46,7 @@ export function pin(message: Message) {
|
||||
message.guildID &&
|
||||
!botHasPermission(message.guildID, [Permissions.MANAGE_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
RequestManager.put(endpoints.CHANNEL_MESSAGE(message.channelID, message.id));
|
||||
@@ -56,6 +58,7 @@ export function unpin(message: Message) {
|
||||
message.guildID &&
|
||||
!botHasPermission(message.guildID, [Permissions.MANAGE_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
RequestManager.delete(
|
||||
@@ -91,6 +94,7 @@ export function removeAllReactions(message: Message) {
|
||||
message.guildID &&
|
||||
!botHasPermission(message.guildID, [Permissions.MANAGE_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
RequestManager.delete(
|
||||
@@ -104,6 +108,7 @@ export function removeReactionEmoji(message: Message, reaction: string) {
|
||||
message.guildID &&
|
||||
!botHasPermission(message.guildID, [Permissions.MANAGE_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_MANAGE_MESSAGES);
|
||||
throw new Error(Errors.MISSING_MANAGE_MESSAGES);
|
||||
}
|
||||
RequestManager.delete(
|
||||
@@ -140,6 +145,7 @@ export async function editMessage(
|
||||
if (
|
||||
!botHasPermission(message.guildID, [Permissions.SEND_MESSAGES])
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_SEND_MESSAGES);
|
||||
throw new Error(Errors.MISSING_SEND_MESSAGES);
|
||||
}
|
||||
|
||||
@@ -150,11 +156,13 @@ export async function editMessage(
|
||||
[Permissions.SEND_TTS_MESSAGES],
|
||||
)
|
||||
) {
|
||||
eventHandlers.error?.(Errors.MISSING_SEND_TTS_MESSAGE);
|
||||
throw new Error(Errors.MISSING_SEND_TTS_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
if (content.content && content.content.length > 2000) {
|
||||
eventHandlers.error?.(Errors.MESSAGE_MAX_LENGTH);
|
||||
throw new Error(Errors.MESSAGE_MAX_LENGTH);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user