diff --git a/packages/bot/src/desiredProperties.ts b/packages/bot/src/desiredProperties.ts index 644b3c90a..68e7979d9 100644 --- a/packages/bot/src/desiredProperties.ts +++ b/packages/bot/src/desiredProperties.ts @@ -550,6 +550,7 @@ export function createDesiredPropertiesObject> extends true ? // Yes, apply the desired props InteractionResolvedDataChannel - : // Is it an object? - IsObject extends true - ? // Yes, we need to ensure we transform the nested properties as well - { [K in keyof T]: TransformProperty } - : // No, this is a normal value such as string / bigint / number - T; + : // Is it a function? + T extends (...args: infer P) => Promise + ? // Yes, we need to ensure we transform the return type as well + (...args: P) => Promise> + : // Is it an object? + IsObject extends true + ? // Yes, we need to ensure we transform the nested properties as well + { [K in keyof T]: TransformProperty } + : // No, this is a normal value such as string / bigint / number + T; /** * Apply desired properties to an object. diff --git a/packages/bot/src/transformers/types.ts b/packages/bot/src/transformers/types.ts index a8a1523dc..802bec333 100644 --- a/packages/bot/src/transformers/types.ts +++ b/packages/bot/src/transformers/types.ts @@ -1298,10 +1298,8 @@ export interface Message { tts: boolean; /** Whether this message came from the urgent message system */ urgent: boolean; - // TODO: Adding this causes errors in the interaction functions due to how `InteractionResolvedDataMember` and `InteractionResolvedDataChannel` are treated by `TransformProperty`, since they get their desired props changed - // and fixing this requires a few changes in `SetupDesiredProps` and `TransformProperty` so this is going to be done in another pr - // /** data for users, members, channels, and roles referenced in this message */ - // resolved?: InteractionDataResolved + /** data for users, members, channels, and roles referenced in this message */ + resolved?: InteractionDataResolved; } export interface MessageActivity {