diff --git a/src/helpers/guilds/edit_guild.ts b/src/helpers/guilds/edit_guild.ts index 6350aea0c..760e387ce 100644 --- a/src/helpers/guilds/edit_guild.ts +++ b/src/helpers/guilds/edit_guild.ts @@ -6,6 +6,7 @@ import type { ModifyGuild } from "../../types/guilds/modify_guild.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; import { snakelize, urlToBase64 } from "../../util/utils.ts"; +import { ws } from "../../ws/ws.ts"; /** Modify a guilds settings. Requires the MANAGE_GUILD permission. */ export async function editGuild(guildId: bigint, options: ModifyGuild) { diff --git a/src/helpers/members/fetch_members.ts b/src/helpers/members/fetch_members.ts index ab87cdcb3..cb05f6327 100644 --- a/src/helpers/members/fetch_members.ts +++ b/src/helpers/members/fetch_members.ts @@ -5,7 +5,7 @@ import { Errors } from "../../types/discordeno/errors.ts"; import { DiscordGatewayIntents } from "../../types/gateway/gateway_intents.ts"; import type { RequestGuildMembers } from "../../types/members/request_guild_members.ts"; import { Collection } from "../../util/collection.ts"; -import {GatewayManager} from "../../bot.ts"; +import { ws } from "../../ws/ws.ts"; /** * ⚠️ BEGINNER DEVS!! YOU SHOULD ALMOST NEVER NEED THIS AND YOU CAN GET FROM cache.members.get() @@ -15,10 +15,10 @@ import {GatewayManager} from "../../bot.ts"; * REST: 50/s global(across all shards) rate limit with ALL requests this included * GW(this function): 120/m(PER shard) rate limit. Meaning if you have 8 shards your limit is now 960/m. */ -export function fetchMembers(gateway: GatewayManager, guildId: bigint, shardId: number, options?: Omit) { +export function fetchMembers(guildId: bigint, shardId: number, options?: Omit) { // You can request 1 member without the intent - // Check if intents is not 0 as proxy gateway won't set intents in other instances - if (gateway.identifyPayload.intents && (!options?.limit || options.limit > 1) && !(gateway.identifyPayload.intents & DiscordGatewayIntents.GuildMembers)) { + // Check if intents is not 0 as proxy ws won't set intents in other instances + if (ws.identifyPayload.intents && (!options?.limit || options.limit > 1) && !(ws.identifyPayload.intents & DiscordGatewayIntents.GuildMembers)) { throw new Error(Errors.MISSING_INTENT_GUILD_MEMBERS); } @@ -30,7 +30,7 @@ export function fetchMembers(gateway: GatewayManager, guildId: bigint, shardId: const nonce = `${guildId}-${Date.now()}`; cache.fetchAllMembersProcessingRequests.set(nonce, resolve); - gateway.sendShardMessage(gateway, shardId, { + ws.sendShardMessage(shardId, { op: DiscordGatewayOpcodes.RequestGuildMembers, d: { guild_id: guildId, diff --git a/src/helpers/misc/edit_bot_status.ts b/src/helpers/misc/edit_bot_status.ts index 8428ac830..0b2664085 100644 --- a/src/helpers/misc/edit_bot_status.ts +++ b/src/helpers/misc/edit_bot_status.ts @@ -1,13 +1,14 @@ -import {eventHandlers, GatewayManager} from "../../bot.ts"; +import { eventHandlers } from "../../bot.ts"; import { DiscordGatewayOpcodes } from "../../types/codes/gateway_opcodes.ts"; import type { StatusUpdate } from "../../types/gateway/status_update.ts"; import { snakelize } from "../../util/utils.ts"; +import { ws } from "../../ws/ws.ts"; -export function editBotStatus(gateway: GatewayManager, data: Omit) { - gateway.shards.forEach((shard) => { +export function editBotStatus(data: Omit) { + ws.shards.forEach((shard) => { eventHandlers.debug?.("loop", `Running forEach loop in editBotStatus function.`); - gateway.sendShardMessage(gateway, shard, { + ws.sendShardMessage(shard, { op: DiscordGatewayOpcodes.StatusUpdate, d: { since: null, diff --git a/src/helpers/voice/connect_to_voice_channel.ts b/src/helpers/voice/connect_to_voice_channel.ts index d56e4cbfe..eb815c083 100644 --- a/src/helpers/voice/connect_to_voice_channel.ts +++ b/src/helpers/voice/connect_to_voice_channel.ts @@ -3,19 +3,18 @@ import type { UpdateVoiceState } from "../../types/voice/update_voice_state.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; import { calculateShardId } from "../../util/calculate_shard_id.ts"; import { snakelize } from "../../util/utils.ts"; +import { ws } from "../../ws/ws.ts"; import type { AtLeastOne } from "../../types/util.ts"; -import {GatewayManager} from "../../bot.ts"; /** Connect or join a voice channel inside a guild. By default, the "selfDeaf" option is true. Requires `CONNECT` and `VIEW_CHANNEL` permissions. */ export async function connectToVoiceChannel( - gateway: GatewayManager, guildId: bigint, channelId: bigint, options?: AtLeastOne> ) { await requireBotChannelPermissions(channelId, ["CONNECT", "VIEW_CHANNEL"]); - gateway.sendShardMessage(gateway, calculateShardId(gateway, guildId), { + ws.sendShardMessage(calculateShardId(guildId), { op: DiscordGatewayOpcodes.VoiceStateUpdate, d: snakelize({ guildId,