fix(Action): Ensure all properties on getChannel() are passed (#10278)

* fix(Action): ensure all properties on `getChannel()` are passed

* refactor: flip `recipient` check
This commit is contained in:
Jiralite 2024-05-16 08:27:00 +01:00 committed by GitHub
parent 35207b0b31
commit 92c1a511dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -31,21 +31,17 @@ class GenericAction {
const payloadData = {}; const payloadData = {};
const id = data.channel_id ?? data.id; const id = data.channel_id ?? data.id;
if ('recipients' in data) { if (!('recipients' in data)) {
payloadData.recipients = data.recipients;
} else {
// Try to resolve the recipient, but do not add the client user. // Try to resolve the recipient, but do not add the client user.
const recipient = data.author ?? data.user ?? { id: data.user_id }; const recipient = data.author ?? data.user ?? { id: data.user_id };
if (recipient.id !== this.client.user.id) payloadData.recipients = [recipient]; if (recipient.id !== this.client.user.id) payloadData.recipients = [recipient];
} }
if (id !== undefined) payloadData.id = id; if (id !== undefined) payloadData.id = id;
if ('guild_id' in data) payloadData.guild_id = data.guild_id;
if ('last_message_id' in data) payloadData.last_message_id = data.last_message_id;
return ( return (
data[this.client.actions.injectedChannel] ?? data[this.client.actions.injectedChannel] ??
this.getPayload(payloadData, this.client.channels, id, Partials.Channel) this.getPayload({ ...data, ...payloadData }, this.client.channels, id, Partials.Channel)
); );
} }