diff --git a/src/gateway/opcodes/RequestGuildMembers.ts b/src/gateway/opcodes/RequestGuildMembers.ts
index 0e65b6cc..cba2c89c 100644
--- a/src/gateway/opcodes/RequestGuildMembers.ts
+++ b/src/gateway/opcodes/RequestGuildMembers.ts
@@ -16,8 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { DateBuilder, getDatabase, getPermission, GuildMembersChunkEvent, Member, Presence, Session } from "@spacebar/util";
-import { WebSocket, Payload, OPCODES, Send } from "@spacebar/gateway";
+import { Config, DateBuilder, getDatabase, getPermission, GuildMembersChunkEvent, Member, Presence, Session } from "@spacebar/util";
+import { WebSocket, Payload, OPCODES, Send, handleOffloadedGatewayRequest } from "@spacebar/gateway";
import { check } from "./instanceOf";
import { FindManyOptions, ILike, In, MoreThan } from "typeorm";
import { RequestGuildMembersSchema } from "@spacebar/schemas";
@@ -30,6 +30,10 @@ export async function onRequestGuildMembers(this: WebSocket, { d }: Payload) {
if (d.user_ids && !Array.isArray(d.user_ids)) d.user_ids = [d.user_ids];
+ if (Config.get().offload.gateway.guildMembersUrl !== null) {
+ return await handleOffloadedGatewayRequest(this, Config.get().offload.gateway.guildMembersUrl!, d);
+ }
+
check.call(this, RequestGuildMembersSchema, d);
const { presences, nonce, query: requestQuery } = d as RequestGuildMembersSchema;
|