From bb3bc77ad2ac2cc4b2ba61b9616fe1c6b70b1807 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Thu, 11 Nov 2021 22:30:06 +0000 Subject: [PATCH] Closes #1697 --- src/bot.ts | 2 ++ .../channels/threads/getThreadMember.ts | 18 ++++++++++++++++++ .../channels/threads/get_thread_members.ts | 3 --- src/helpers/mod.ts | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/helpers/channels/threads/getThreadMember.ts diff --git a/src/bot.ts b/src/bot.ts index 9852a03bc..10bc5378a 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -602,6 +602,7 @@ export interface Helpers { editThread: typeof helpers.editThread; getActiveThreads: typeof helpers.getActiveThreads; getArchivedThreads: typeof helpers.getArchivedThreads; + getThreadMember: typeof helpers.getThreadMember; getThreadMembers: typeof helpers.getThreadMembers; joinThread: typeof helpers.joinThread; leaveThread: typeof helpers.leaveThread; @@ -771,6 +772,7 @@ export function createBaseHelpers(options: Partial) { editThread: options.editThread || helpers.editThread, getActiveThreads: options.getActiveThreads || helpers.getActiveThreads, getArchivedThreads: options.getArchivedThreads || helpers.getArchivedThreads, + getThreadMember: options.getThreadMember || helpers.getThreadMember, getThreadMembers: options.getThreadMembers || helpers.getThreadMembers, joinThread: options.joinThread || helpers.joinThread, leaveThread: options.leaveThread || helpers.leaveThread, diff --git a/src/helpers/channels/threads/getThreadMember.ts b/src/helpers/channels/threads/getThreadMember.ts new file mode 100644 index 000000000..4ad37a4d9 --- /dev/null +++ b/src/helpers/channels/threads/getThreadMember.ts @@ -0,0 +1,18 @@ +import type { Bot } from "../../../bot.ts"; +import { ThreadMember } from "../../../types/channels/threads/thread_member.ts"; + +/** Returns thread members objects that are members of the thread. */ +export async function getThreadMember(bot: Bot, threadId: bigint, userId: bigint) { + const result = await bot.rest.runMethod( + bot.rest, + "get", + bot.constants.endpoints.THREAD_USER(threadId, userId) + ); + + return { + id: result.id ? bot.transformers.snowflake(result.id) : undefined, + userId: result.user_id ? bot.transformers.snowflake(result.user_id) : undefined, + joinTimestamp: Date.parse(result.join_timestamp), + flags: result.flags + }; +} diff --git a/src/helpers/channels/threads/get_thread_members.ts b/src/helpers/channels/threads/get_thread_members.ts index 63380f934..7c122111c 100644 --- a/src/helpers/channels/threads/get_thread_members.ts +++ b/src/helpers/channels/threads/get_thread_members.ts @@ -1,8 +1,5 @@ import type { Bot } from "../../../bot.ts"; import { ThreadMember } from "../../../types/channels/threads/thread_member.ts"; -import { DiscordGatewayIntents } from "../../../types/gateway/gateway_intents.ts"; -import { Collection } from "../../../util/collection.ts"; -// import { threadMemberModified } from "../../../util/transformers/thread_member_modified.ts"; /** Returns thread members objects that are members of the thread. */ export async function getThreadMembers(bot: Bot, threadId: bigint) { diff --git a/src/helpers/mod.ts b/src/helpers/mod.ts index 06f4d36aa..576d5933c 100644 --- a/src/helpers/mod.ts +++ b/src/helpers/mod.ts @@ -142,6 +142,7 @@ import { deleteThread } from "./channels/threads/delete_thread.ts"; import { editThread } from "./channels/threads/edit_thread.ts"; import { getActiveThreads } from "./channels/threads/get_active_threads.ts"; import { getArchivedThreads } from "./channels/threads/get_archived_threads.ts"; +import { getThreadMember } from "./channels/threads/getThreadMember.ts"; import { getThreadMembers } from "./channels/threads/get_thread_members.ts"; import { joinThread } from "./channels/threads/join_thread.ts"; import { leaveThread } from "./channels/threads/leave_thread.ts"; @@ -296,6 +297,7 @@ export { editThread, getActiveThreads, getArchivedThreads, + getThreadMember, getThreadMembers, joinThread, leaveThread,