mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 11:28:15 +00:00
delete: removeUserReaction
This commit is contained in:
@@ -1,12 +1,18 @@
|
|||||||
import { rest } from "../../rest/rest.ts";
|
import { rest } from "../../rest/rest.ts";
|
||||||
import { endpoints } from "../../util/constants.ts";
|
import { endpoints } from "../../util/constants.ts";
|
||||||
|
import { requireBotChannelPermissions } from "../../util/permissions.ts";
|
||||||
|
|
||||||
/** Removes a reaction from the bot on this message. Reaction takes the form of **name:id** for custom guild emoji, or Unicode characters. */
|
/** Removes a reaction from the given user on this message, defaults to bot. Reaction takes the form of **name:id** for custom guild emoji, or Unicode characters. */
|
||||||
export async function removeReaction(
|
export async function removeReaction(
|
||||||
channelId: string,
|
channelId: string,
|
||||||
messageId: string,
|
messageId: string,
|
||||||
reaction: string,
|
reaction: string,
|
||||||
|
userId?: string,
|
||||||
) {
|
) {
|
||||||
|
if (userId) {
|
||||||
|
await requireBotChannelPermissions(channelId, ["MANAGE_MESSAGES"]);
|
||||||
|
}
|
||||||
|
|
||||||
if (reaction.startsWith("<:")) {
|
if (reaction.startsWith("<:")) {
|
||||||
reaction = reaction.substring(2, reaction.length - 1);
|
reaction = reaction.substring(2, reaction.length - 1);
|
||||||
} else if (reaction.startsWith("<a:")) {
|
} else if (reaction.startsWith("<a:")) {
|
||||||
@@ -15,6 +21,13 @@ export async function removeReaction(
|
|||||||
|
|
||||||
return await rest.runMethod<undefined>(
|
return await rest.runMethod<undefined>(
|
||||||
"delete",
|
"delete",
|
||||||
endpoints.CHANNEL_MESSAGE_REACTION_ME(channelId, messageId, reaction),
|
userId
|
||||||
|
? endpoints.CHANNEL_MESSAGE_REACTION_USER(
|
||||||
|
channelId,
|
||||||
|
messageId,
|
||||||
|
reaction,
|
||||||
|
userId,
|
||||||
|
)
|
||||||
|
: endpoints.CHANNEL_MESSAGE_REACTION_ME(channelId, messageId, reaction),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
import { rest } from "../../rest/rest.ts";
|
|
||||||
import { endpoints } from "../../util/constants.ts";
|
|
||||||
import { requireBotChannelPermissions } from "../../util/permissions.ts";
|
|
||||||
|
|
||||||
/** Removes a reaction from the specified user on this message. Reaction takes the form of **name:id** for custom guild emoji, or Unicode characters. */
|
|
||||||
export async function removeUserReaction(
|
|
||||||
channelId: string,
|
|
||||||
messageId: string,
|
|
||||||
reaction: string,
|
|
||||||
userId: string,
|
|
||||||
) {
|
|
||||||
await requireBotChannelPermissions(channelId, ["MANAGE_MESSAGES"]);
|
|
||||||
|
|
||||||
if (reaction.startsWith("<:")) {
|
|
||||||
reaction = reaction.substring(2, reaction.length - 1);
|
|
||||||
} else if (reaction.startsWith("<a:")) {
|
|
||||||
reaction = reaction.substring(3, reaction.length - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return await rest.runMethod<undefined>(
|
|
||||||
"delete",
|
|
||||||
endpoints.CHANNEL_MESSAGE_REACTION_USER(
|
|
||||||
channelId,
|
|
||||||
messageId,
|
|
||||||
reaction,
|
|
||||||
userId,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -93,7 +93,6 @@ import { publishMessage } from "./messages/publish_message.ts";
|
|||||||
import { removeAllReactions } from "./messages/remove_all_reactions.ts";
|
import { removeAllReactions } from "./messages/remove_all_reactions.ts";
|
||||||
import { removeReaction } from "./messages/remove_reaction.ts";
|
import { removeReaction } from "./messages/remove_reaction.ts";
|
||||||
import { removeReactionEmoji } from "./messages/remove_reaction_emoji.ts";
|
import { removeReactionEmoji } from "./messages/remove_reaction_emoji.ts";
|
||||||
import { removeUserReaction } from "./messages/remove_user_reaction.ts";
|
|
||||||
import { sendMessage } from "./messages/send_message.ts";
|
import { sendMessage } from "./messages/send_message.ts";
|
||||||
import { unpin, unpinMessage } from "./messages/unpin_message.ts";
|
import { unpin, unpinMessage } from "./messages/unpin_message.ts";
|
||||||
import { editBotStatus } from "./misc/edit_bot_status.ts";
|
import { editBotStatus } from "./misc/edit_bot_status.ts";
|
||||||
@@ -240,7 +239,6 @@ export {
|
|||||||
removeReaction,
|
removeReaction,
|
||||||
removeReactionEmoji,
|
removeReactionEmoji,
|
||||||
removeRole,
|
removeRole,
|
||||||
removeUserReaction,
|
|
||||||
sendDirectMessage,
|
sendDirectMessage,
|
||||||
sendInteractionResponse,
|
sendInteractionResponse,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
@@ -361,7 +359,6 @@ export let helpers = {
|
|||||||
removeAllReactions,
|
removeAllReactions,
|
||||||
removeReactionEmoji,
|
removeReactionEmoji,
|
||||||
removeReaction,
|
removeReaction,
|
||||||
removeUserReaction,
|
|
||||||
sendMessage,
|
sendMessage,
|
||||||
unpinMessage,
|
unpinMessage,
|
||||||
// misc
|
// misc
|
||||||
|
|||||||
@@ -121,8 +121,8 @@ const baseMessage: Partial<DiscordenoMessage> = {
|
|||||||
removeReactionEmoji(reaction) {
|
removeReactionEmoji(reaction) {
|
||||||
return removeReactionEmoji(this.channelId!, this.id!, reaction);
|
return removeReactionEmoji(this.channelId!, this.id!, reaction);
|
||||||
},
|
},
|
||||||
removeReaction(reaction) {
|
removeReaction(reaction, userId) {
|
||||||
return removeReaction(this.channelId!, this.id!, reaction);
|
return removeReaction(this.channelId!, this.id!, reaction, userId);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -255,5 +255,8 @@ export interface DiscordenoMessage
|
|||||||
/** Remove all reactions */
|
/** Remove all reactions */
|
||||||
removeReactionEmoji(reaction: string): ReturnType<typeof removeReactionEmoji>;
|
removeReactionEmoji(reaction: string): ReturnType<typeof removeReactionEmoji>;
|
||||||
/** Remove all reactions */
|
/** Remove all reactions */
|
||||||
removeReaction(reaction: string): ReturnType<typeof removeReaction>;
|
removeReaction(
|
||||||
|
reaction: string,
|
||||||
|
userId?: string,
|
||||||
|
): ReturnType<typeof removeReaction>;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
import {
|
import { addReaction, cache, removeReaction, sendMessage } from "../../mod.ts";
|
||||||
addReaction,
|
|
||||||
cache,
|
|
||||||
removeUserReaction,
|
|
||||||
sendMessage,
|
|
||||||
} from "../../mod.ts";
|
|
||||||
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
|
|
||||||
import { assertEquals, assertExists } from "../deps.ts";
|
import { assertEquals, assertExists } from "../deps.ts";
|
||||||
import { delayUntil } from "../util/delay_until.ts";
|
import { delayUntil } from "../util/delay_until.ts";
|
||||||
|
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
|
||||||
|
|
||||||
async function ifItFailsBlameWolf(type: "getter" | "raw") {
|
async function ifItFailsBlameWolf(type: "getter" | "raw") {
|
||||||
const message = await sendMessage(tempData.channelId, "Hello World!");
|
const message = await sendMessage(tempData.channelId, "Hello World!");
|
||||||
@@ -32,7 +27,7 @@ async function ifItFailsBlameWolf(type: "getter" | "raw") {
|
|||||||
assertEquals(await cache.messages.get(message.id)?.reactions?.length, 1);
|
assertEquals(await cache.messages.get(message.id)?.reactions?.length, 1);
|
||||||
|
|
||||||
if (type === "raw") {
|
if (type === "raw") {
|
||||||
await removeUserReaction(
|
await removeReaction(
|
||||||
message.channelId,
|
message.channelId,
|
||||||
message.id,
|
message.id,
|
||||||
"❤",
|
"❤",
|
||||||
|
|||||||
Reference in New Issue
Block a user