diff --git a/src/gateway/opcodes/RequestGuildMembers.ts b/src/gateway/opcodes/RequestGuildMembers.ts index d294f4d3..c84bf893 100644 --- a/src/gateway/opcodes/RequestGuildMembers.ts +++ b/src/gateway/opcodes/RequestGuildMembers.ts @@ -47,7 +47,10 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) { if ((query || (user_ids && user_ids.length > 0)) && (!limit || limit > 100)) limit = 100; - const permissions = await getPermission(this.user_id, guild_id); + const permissions = await getPermission( + this.user_id, + Array.isArray(guild_id) ? guild_id[0] : guild_id, + ); permissions.hasThrow("VIEW_CHANNEL"); const whereQuery: FindManyOptions["where"] = {}; @@ -62,7 +65,7 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) { const memberFind: FindManyOptions = { where: { ...whereQuery, - guild_id, + guild_id: Array.isArray(guild_id) ? guild_id[0] : guild_id, }, relations: ["user", "roles"], }; @@ -70,7 +73,7 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) { const members = await Member.find(memberFind); const baseData = { - guild_id, + guild_id: Array.isArray(guild_id) ? guild_id[0] : guild_id, nonce, }; diff --git a/src/util/schemas/RequestGuildMembersSchema.ts b/src/util/schemas/RequestGuildMembersSchema.ts index 01ba4f2e..8271a453 100644 --- a/src/util/schemas/RequestGuildMembersSchema.ts +++ b/src/util/schemas/RequestGuildMembersSchema.ts @@ -17,7 +17,7 @@ */ export interface RequestGuildMembersSchema { - guild_id: string; + guild_id: string | string[]; query?: string; limit?: number; presences?: boolean; @@ -26,7 +26,7 @@ export interface RequestGuildMembersSchema { } export const RequestGuildMembersSchema = { - guild_id: String, + guild_id: [] as string | string[], $query: String, $limit: Number, $presences: Boolean,