diff --git a/src/helpers/members/disconnectMember.ts b/src/helpers/members/disconnectMember.ts deleted file mode 100644 index 3eadbc25a..000000000 --- a/src/helpers/members/disconnectMember.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Bot } from "../../bot.ts"; - -/** Kicks a member from a voice channel */ -export function disconnectMember(bot: Bot, guildId: bigint, memberId: bigint) { - return bot.helpers.editMember(guildId, memberId, { channelId: null }); -} diff --git a/src/helpers/members/editMember.ts b/src/helpers/members/editMember.ts index fc7b6d8e3..721bc1a4d 100644 --- a/src/helpers/members/editMember.ts +++ b/src/helpers/members/editMember.ts @@ -1,6 +1,5 @@ import type { ModifyGuildMember } from "../../types/guilds/modifyGuildMember.ts"; import type { GuildMemberWithUser } from "../../types/members/guildMember.ts"; -import type { PermissionStrings } from "../../types/permissions/permissionStrings.ts"; import type { Bot } from "../../bot.ts"; /** Edit the member */ diff --git a/src/helpers/members/getDmChannel.ts b/src/helpers/members/getDmChannel.ts index 177e03d84..8411c8ea2 100644 --- a/src/helpers/members/getDmChannel.ts +++ b/src/helpers/members/getDmChannel.ts @@ -1,12 +1,13 @@ import type { Channel } from "../../types/channels/channel.ts"; import type { Bot } from "../../bot.ts"; -/** Get a user's dm channel. This is required in order to send a DM. */ +/** Get a user's dm channel. This is required in order to send a DM. */ export async function getDmChannel(bot: Bot, userId: bigint) { if (userId === bot.id) throw new Error(bot.constants.Errors.YOU_CAN_NOT_DM_THE_BOT_ITSELF); const dmChannelData = await bot.rest.runMethod(bot.rest, "post", bot.constants.endpoints.USER_DM, { recipient_id: userId.toString(), }); + return bot.transformers.channel(bot, { channel: dmChannelData }); } diff --git a/src/helpers/members/getMembers.ts b/src/helpers/members/getMembers.ts index da97f8acf..a4c14ea90 100644 --- a/src/helpers/members/getMembers.ts +++ b/src/helpers/members/getMembers.ts @@ -10,46 +10,20 @@ import type { DiscordenoMember } from "../../transformers/member.ts"; * GW(fetchMembers): 120/m(PER shard) rate limit. Meaning if you have 8 shards your limit is 960/m. */ export async function getMembers(bot: Bot, guildId: bigint, options: ListGuildMembers & { memberCount: number }) { - const members = new Collection(); - - let membersLeft = options?.limit ?? options.memberCount; - let loops = 1; - while ((options?.limit ?? options.memberCount) > members.size && membersLeft > 0) { - bot.events.debug("Running while loop in getMembers function."); - - if (options?.limit && options.limit > 1000) { - console.log(`Paginating get members from REST. #${loops} / ${Math.ceil((options?.limit ?? 1) / 1000)}`); + const result = await bot.rest.runMethod( + bot.rest, + "get", + bot.constants.endpoints.GUILD_MEMBERS(guildId), + { + limit: options?.limit ?? options.memberCount, + after: options?.after, } + ); - const result = await bot.rest.runMethod( - bot.rest, - "get", - `${bot.constants.endpoints.GUILD_MEMBERS(guildId)}?limit=${membersLeft > 1000 ? 1000 : membersLeft}${ - options?.after ? `&after=${options.after}` : "" - }` - ); - - const discordenoMembers = result.map((member) => - bot.transformers.member(bot, member, guildId, bot.transformers.snowflake(member.user.id)) - ); - - if (!discordenoMembers.length) break; - - discordenoMembers.forEach((member) => { - bot.events.debug(`Running forEach loop in get_members file.`); - members.set(member.id, member); - }); - - options = { - limit: options?.limit, - after: discordenoMembers[discordenoMembers.length - 1].id.toString(), - memberCount: options.memberCount, - }; - - membersLeft -= 1000; - - loops++; - } - - return members; + return new Collection( + result.map((res) => { + const member = bot.transformers.member(bot, res, guildId, bot.transformers.snowflake(res.user.id)); + return [member.id, member]; + }) + ); } diff --git a/src/helpers/members/moveMember.ts b/src/helpers/members/moveMember.ts deleted file mode 100644 index 55a5b0e47..000000000 --- a/src/helpers/members/moveMember.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Bot } from "../../bot.ts"; - -/** - * Move a member from a voice channel to another. - * @param bot the bot - * @param guildId the id of the guild which the channel exists in - * @param memberId the id of the member to move. - * @param channelId id of channel to move user to (if they are connected to voice) - */ -export function moveMember(bot: Bot, guildId: bigint, memberId: bigint, channelId: bigint) { - return bot.helpers.editMember(guildId, memberId, { channelId }); -} diff --git a/src/helpers/members/searchMembers.ts b/src/helpers/members/searchMembers.ts index 02d31dd71..913f902a3 100644 --- a/src/helpers/members/searchMembers.ts +++ b/src/helpers/members/searchMembers.ts @@ -10,7 +10,7 @@ export async function searchMembers( bot: Bot, guildId: bigint, query: string, - options?: Omit & { cache?: boolean } + options?: Omit ) { if (options?.limit) { if (options.limit < 1) throw new Error(bot.constants.Errors.MEMBER_SEARCH_LIMIT_TOO_LOW); diff --git a/src/helpers/mod.ts b/src/helpers/mod.ts index 5e896987b..25d374eef 100644 --- a/src/helpers/mod.ts +++ b/src/helpers/mod.ts @@ -86,14 +86,12 @@ export * from "./invites/getInvites.ts"; //members export * from "./members/avatarUrl.ts"; export * from "./members/banMember.ts"; -export * from "./members/disconnectMember.ts"; export * from "./members/editBotNickname.ts"; export * from "./members/editMember.ts"; export * from "./members/fetchMembers.ts"; export * from "./members/getMember.ts"; export * from "./members/getMembers.ts"; export * from "./members/kickMember.ts"; -export * from "./members/moveMember.ts"; export * from "./members/pruneMembers.ts"; export * from "./members/getDmChannel.ts"; export * from "./members/unbanMember.ts"; diff --git a/tests/channels/connectToVoice.ts b/tests/channels/connectToVoice.ts index eca96051d..621739c35 100644 --- a/tests/channels/connectToVoice.ts +++ b/tests/channels/connectToVoice.ts @@ -3,7 +3,7 @@ import { assertEquals } from "../deps.ts"; import { bot, guild } from "../mod.ts"; import { delayUntil } from "../utils.ts"; -Deno.test("[channel] Connect to voice channel and disconnect.", async () => { +Deno.test("[channel] Connect to voice channel.", async () => { const channel = await bot.helpers.createChannel(guild.id, { name: "lumap", type: ChannelTypes.GuildVoice, @@ -22,11 +22,4 @@ Deno.test("[channel] Connect to voice channel and disconnect.", async () => { await delayUntil(10000, () => joined); assertEquals(joined, true); - - // DISCONNECT BOT - await bot.helpers.disconnectMember(guild.id, bot.id); - // WAIT FOR EVENT TO ARRIVE - await delayUntil(10000, () => !joined); - - assertEquals(joined, false); });