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,
|