mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-04 09:50:07 +00:00
* fix: check new types idea * fix: type errors * fix: new style * fix: more cleanup * fix: more cleanup * fix: cleanup audit logs * fix: cleanup stickers * fix: cleanup integrations * fix: more cleanup * fix: organize into 1 place * fix: few errors * fix: some broken import fixes * fix: quite a lot of fixes across the board * fix: more fixes for broken imports * fix: more fixes for broken imports * fix: handler imports * fix: all remaining import errors * fix: more errors needing fixes * fix: clearing up transformers * fix: few moer types * fix: more cleanup of extra types * fix: fmt * fix: cleanup discordeno file * Nuke Base Types (#2102) * fix: cleanup snake stuff * convert camelCase to snake_case (#2103) * fix: add camelize * fix: finalize remaining errors * fix: imports in test Co-authored-by: LTS20050703 <87189679+lts20050703@users.noreply.github.com>
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { Collection } from "../../util/collection.ts";
|
|
import type { Bot } from "../../bot.ts";
|
|
import { DiscordUser } from "../../types/discord.ts";
|
|
|
|
/** Get a list of users that reacted with this emoji. */
|
|
export async function getReactions(
|
|
bot: Bot,
|
|
channelId: bigint,
|
|
messageId: bigint,
|
|
reaction: string,
|
|
options?: GetReactions,
|
|
) {
|
|
if (reaction.startsWith("<:")) {
|
|
reaction = reaction.substring(2, reaction.length - 1);
|
|
} else if (reaction.startsWith("<a:")) {
|
|
reaction = reaction.substring(3, reaction.length - 1);
|
|
}
|
|
|
|
const users = await bot.rest.runMethod<DiscordUser[]>(
|
|
bot.rest,
|
|
"get",
|
|
bot.constants.endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, encodeURIComponent(reaction)),
|
|
options,
|
|
);
|
|
|
|
return new Collection(users.map((u) => {
|
|
const user = bot.transformers.user(bot, u);
|
|
return [user.id, user];
|
|
}));
|
|
}
|
|
|
|
/** https://discord.com/developers/docs/resources/channel#get-reactions-query-string-params */
|
|
export interface GetReactions {
|
|
/** Get users after this user Id */
|
|
after?: string;
|
|
/** Max number of users to return (1-100) */
|
|
limit?: number;
|
|
}
|