diff --git a/src/helpers/messages/delete_message.ts b/src/helpers/messages/delete_message.ts index d3aeaa373..a1f5672ff 100644 --- a/src/helpers/messages/delete_message.ts +++ b/src/helpers/messages/delete_message.ts @@ -1,25 +1,27 @@ import { botID } from "../../bot.ts"; +import { cacheHandlers } from "../../cache.ts"; import { RequestManager } from "../../rest/request_manager.ts"; -import { Message } from "../../structures/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; import { delay } from "../../util/utils.ts"; -/** Delete a message */ +/** Delete a message with the channel id and message id only. */ export async function deleteMessage( - message: Message, + channelID: string, + messageID: string, reason?: string, delayMilliseconds = 0, ) { - if (message.author.id !== botID) { - // This needs to check the channels permission not the guild permission + const message = await cacheHandlers.get("messages", messageID); + + if (message && message.author.id !== botID) { await requireBotChannelPermissions(message.channelID, ["MANAGE_MESSAGES"]); } if (delayMilliseconds) await delay(delayMilliseconds); const result = await RequestManager.delete( - endpoints.CHANNEL_MESSAGE(message.channelID, message.id), + endpoints.CHANNEL_MESSAGE(channelID, messageID), { reason }, ); diff --git a/src/helpers/messages/delete_message_by_id.ts b/src/helpers/messages/delete_message_by_id.ts deleted file mode 100644 index 5104f70fb..000000000 --- a/src/helpers/messages/delete_message_by_id.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { cacheHandlers } from "../../cache.ts"; -import { RequestManager } from "../../rest/request_manager.ts"; -import { endpoints } from "../../util/constants.ts"; -import { delay } from "../../util/utils.ts"; -import { deleteMessage } from "./delete_message.ts"; - -/** Delete a message with the channel id and message id only. */ -export async function deleteMessageByID( - channelID: string, - messageID: string, - reason?: string, - delayMilliseconds = 0, -) { - const message = await cacheHandlers.get("messages", messageID); - if (message) return deleteMessage(message, reason, delayMilliseconds); - - if (delayMilliseconds) await delay(delayMilliseconds); - - const result = await RequestManager.delete( - endpoints.CHANNEL_MESSAGE(channelID, messageID), - { reason }, - ); - - return result; -} diff --git a/src/helpers/mod.ts b/src/helpers/mod.ts index 13f607fd9..b6fed9609 100644 --- a/src/helpers/mod.ts +++ b/src/helpers/mod.ts @@ -77,7 +77,6 @@ import { addReaction } from "./messages/add_reaction.ts"; import { addReactions } from "./messages/add_reactions.ts"; import { deleteMessage } from "./messages/delete_message.ts"; import { deleteMessages } from "./messages/delete_messages.ts"; -import { deleteMessageByID } from "./messages/delete_message_by_id.ts"; import { editMessage } from "./messages/edit_message.ts"; import { getMessage } from "./messages/get_message.ts"; import { getMessages } from "./messages/get_messages.ts"; @@ -142,7 +141,6 @@ export { deleteIntegration, deleteInvite, deleteMessage, - deleteMessageByID, deleteMessages, deleteRole, deleteServer, @@ -326,7 +324,6 @@ export let helpers = { // messages addReaction, addReactions, - deleteMessageByID, deleteMessage, deleteMessages, editMessage, diff --git a/src/structures/message.ts b/src/structures/message.ts index 2187efab4..9b8b2c203 100644 --- a/src/structures/message.ts +++ b/src/structures/message.ts @@ -2,7 +2,7 @@ import { cacheHandlers } from "../cache.ts"; import { sendDirectMessage } from "../helpers/members/send_direct_message.ts"; import { addReaction } from "../helpers/messages/add_reaction.ts"; import { addReactions } from "../helpers/messages/add_reactions.ts"; -import { deleteMessageByID } from "../helpers/messages/delete_message_by_id.ts"; +import { deleteMessage } from "../helpers/messages/delete_message.ts"; import { editMessage } from "../helpers/messages/edit_message.ts"; import { pinMessage } from "../helpers/messages/pin_message.ts"; import { removeAllReactions } from "../helpers/messages/remove_all_reactions.ts"; @@ -62,7 +62,7 @@ const baseMessage: Partial = { // METHODS delete(reason, delayMilliseconds) { - return deleteMessageByID( + return deleteMessage( this.channelID!, this.id!, reason, @@ -253,7 +253,7 @@ export interface Message { delete( reason?: string, delayMilliseconds?: number, - ): ReturnType; + ): ReturnType; /** Edit the message */ edit(content: string | MessageContent): ReturnType; /** Pins the message in the channel */