mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 03:18:17 +00:00
a0a1554756
* 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>
65 lines
1.9 KiB
TypeScript
65 lines
1.9 KiB
TypeScript
import { Bot } from "../../../bot.ts";
|
|
import { Member, User } from "../../../transformers/member.ts";
|
|
import { DiscordMember, DiscordUser } from "../../../types/discord.ts";
|
|
import { Collection } from "../../../util/collection.ts";
|
|
|
|
export async function getScheduledEventUsers(
|
|
bot: Bot,
|
|
guildId: bigint,
|
|
eventId: bigint,
|
|
options?: GetScheduledEventUsers & { withMember?: false },
|
|
): Promise<Collection<bigint, User>>;
|
|
export async function getScheduledEventUsers(
|
|
bot: Bot,
|
|
guildId: bigint,
|
|
eventId: bigint,
|
|
options?: GetScheduledEventUsers & { withMember: true },
|
|
): Promise<Collection<bigint, { user: User; member: Member }>>;
|
|
export async function getScheduledEventUsers(
|
|
bot: Bot,
|
|
guildId: bigint,
|
|
eventId: bigint,
|
|
options?: GetScheduledEventUsers,
|
|
): Promise<
|
|
Collection<bigint, User> | Collection<bigint, { user: User; member: Member }>
|
|
> {
|
|
const result = await bot.rest.runMethod<{ user: DiscordUser; member?: DiscordMember }[]>(
|
|
bot.rest,
|
|
"get",
|
|
bot.constants.endpoints.GUILD_SCHEDULED_EVENT_USERS(guildId, eventId),
|
|
{
|
|
limit: options?.limit,
|
|
with_members: options?.withMember,
|
|
},
|
|
);
|
|
|
|
if (!options?.withMember) {
|
|
return new Collection(
|
|
result.map((res) => {
|
|
const user = bot.transformers.user(bot, res.user);
|
|
return [user.id, user];
|
|
}),
|
|
);
|
|
}
|
|
|
|
return new Collection(
|
|
result.map((res) => {
|
|
const user = bot.transformers.user(bot, res.user);
|
|
const member = bot.transformers.member(bot, res.member!, guildId, user.id);
|
|
|
|
return [user.id, { member, user }];
|
|
}),
|
|
);
|
|
}
|
|
|
|
export interface GetScheduledEventUsers {
|
|
/** number of users to return (up to maximum 100), defaults to 100 */
|
|
limit?: number;
|
|
/** whether to also have member objects provided, defaults to false */
|
|
withMember?: boolean;
|
|
/** consider only users before given user id */
|
|
before?: bigint;
|
|
/** consider only users after given user id */
|
|
after?: bigint;
|
|
}
|