Members helpers

This commit is contained in:
TriForMine
2021-10-21 18:06:45 +02:00
parent 83da6897a6
commit fe22c5ea73
17 changed files with 122 additions and 144 deletions
+7 -9
View File
@@ -1,21 +1,19 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import type { GuildMemberWithUser } from "../../types/members/guild_member.ts";
import { endpoints } from "../../util/constants.ts";
import type {Bot} from "../../bot.ts";
import type {SnakeCasedPropertiesDeep} from "../../types/util.ts";
/** Returns a guild member object for the specified user.
*
* ⚠️ **ADVANCED USE ONLY: Your members will be cached in your guild most likely. Only use this when you are absolutely sure the member is not cached.**
*/
export async function getMember(guildId: bigint, id: bigint, options?: { force?: boolean }) {
const guild = await cacheHandlers.get("guilds", guildId);
export async function getMember(bot: Bot, guildId: bigint, id: bigint, options?: { force?: boolean }) {
const guild = await bot.cache.guilds.get(guildId);
if (!guild && !options?.force) return;
const data = await rest.runMethod<GuildMemberWithUser>("get", endpoints.GUILD_MEMBER(guildId, id));
const data = await bot.rest.runMethod<SnakeCasedPropertiesDeep<GuildMemberWithUser>>(bot.rest,"get", bot.constants.endpoints.GUILD_MEMBER(guildId, id));
const discordenoMember = await structures.createDiscordenoMember(data, guildId);
await cacheHandlers.set("members", discordenoMember.id, discordenoMember);
const discordenoMember = await bot.transformers.member(bot, data, guildId);
await bot.cache.members.set(discordenoMember.id, discordenoMember);
return discordenoMember;
}