fix(ThreadChannel): Make ownerId always present (#10618)

fix: thread owner id is always present

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
Jiralite
2024-12-05 08:40:46 +00:00
committed by GitHub
parent d0dc864888
commit eceaa85ad4
2 changed files with 8 additions and 16 deletions

View File

@@ -5,7 +5,7 @@ const { ChannelFlags, ChannelType, PermissionFlagsBits, Routes } = require('disc
const { BaseChannel } = require('./BaseChannel');
const getThreadOnlyChannel = lazy(() => require('./ThreadOnlyChannel'));
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const { DiscordjsError, DiscordjsRangeError, ErrorCodes } = require('../errors');
const { DiscordjsRangeError, ErrorCodes } = require('../errors');
const GuildMessageManager = require('../managers/GuildMessageManager');
const ThreadMemberManager = require('../managers/ThreadMemberManager');
const ChannelFlagsBitField = require('../util/ChannelFlagsBitField');
@@ -31,6 +31,12 @@ class ThreadChannel extends BaseChannel {
*/
this.guildId = guild?.id ?? data.guild_id;
/**
* The id of the member who created this thread
* @type {Snowflake}
*/
this.ownerId = data.owner_id;
/**
* A manager of the messages sent to this thread
* @type {GuildMessageManager}
@@ -121,16 +127,6 @@ class ThreadChannel extends BaseChannel {
this._createdTimestamp ??= this.type === ChannelType.PrivateThread ? super.createdTimestamp : null;
if ('owner_id' in data) {
/**
* The id of the member who created this thread
* @type {?Snowflake}
*/
this.ownerId = data.owner_id;
} else {
this.ownerId ??= null;
}
if ('last_message_id' in data) {
/**
* The last message id sent in this thread, if one was sent
@@ -300,10 +296,6 @@ class ThreadChannel extends BaseChannel {
* @returns {Promise<ThreadMember>}
*/
async fetchOwner(options) {
if (!this.ownerId) {
throw new DiscordjsError(ErrorCodes.FetchOwnerId, 'thread');
}
const member = await this.members._fetchSingle({ ...options, member: this.ownerId });
return member;
}

View File

@@ -3376,7 +3376,7 @@ export class ThreadChannel<ThreadOnly extends boolean = boolean> extends BaseCha
public totalMessageSent: number | null;
public members: ThreadMemberManager;
public name: string;
public ownerId: Snowflake | null;
public ownerId: Snowflake;
public get parent(): If<ThreadOnly, ForumChannel | MediaChannel, TextChannel | AnnouncementChannel> | null;
public parentId: Snowflake | null;
public rateLimitPerUser: number | null;