@@ -184,37 +184,36 @@ export async function handleAnnounceModal(interaction: any) {
184184 flags : 1 << 6 ,
185185 } ) ;
186186
187- // Actualizar el mensaje original del preview usando el mensaje guardado
187+ // Actualizar el mensaje original del preview usando interaction del mensaje original
188188 try {
189- logger . info ( 'Attempting to update preview' , {
189+ logger . info ( 'Attempting to update preview via webhook ' , {
190190 requestId : session . requestId ,
191- hasPreviewMessage : ! ! session . previewMessage ,
192- previewMessageId : session . previewMessage ?. id ,
191+ hasOriginalInteraction : ! ! session . originalInteraction ,
193192 imageUrl,
194193 } ) ;
195194
196- if ( session . previewMessage ) {
195+ if ( session . originalInteraction ) {
197196 const embed = createAnnouncementPreview ( session ) ;
198197 const cfg = getGuildConfig ( session . guildId ) ;
199198
200199 // Usar la función auxiliar para construir los componentes
201200 const rows = buildAnnouncementComponents ( session , cfg ) ;
202201
203- logger . info ( 'About to edit preview message ' , {
202+ logger . info ( 'About to edit preview via editReply ' , {
204203 requestId : session . requestId ,
205204 embedHasImage : ! ! session . announcement . image ,
206205 embedImage : session . announcement . image ,
207206 } ) ;
208207
209- // Actualizar el mensaje con embed y componentes
210- await session . previewMessage . edit ( { embeds : [ embed ] , components : rows } ) ;
208+ // Usar editReply en la interacción original (funciona con efímeros)
209+ await session . originalInteraction . editReply ( { embeds : [ embed ] , components : rows } ) ;
211210
212211 logger . info ( 'Preview updated successfully with image' , {
213212 requestId : session . requestId ,
214213 hasImage : ! ! imageUrl ,
215214 } ) ;
216215 } else {
217- logger . warn ( 'No preview message found to update' , {
216+ logger . warn ( 'No original interaction found to update' , {
218217 requestId : session . requestId ,
219218 } ) ;
220219 }
@@ -238,20 +237,18 @@ async function showAnnouncementOptions(interaction: any, session: any) {
238237 // Usar la función auxiliar para construir los componentes
239238 const rows = buildAnnouncementComponents ( session , cfg ) ;
240239
241- const reply = await interaction . reply ( {
240+ await interaction . reply ( {
242241 embeds : [ embed ] ,
243242 components : rows ,
244243 flags : 1 << 6 ,
245- fetchReply : true , // Obtener el mensaje para poder editarlo después
246244 } ) ;
247245
248- // Guardar el mensaje para poder actualizarlo después
249- session . previewMessage = reply ;
246+ // Guardar la interacción original para poder usar editReply después
247+ session . originalInteraction = interaction ;
250248
251249 logger . info ( 'Preview message created and saved' , {
252250 requestId : session . requestId ,
253- messageId : reply ?. id ,
254- hasMessage : ! ! reply ,
251+ hasInteraction : ! ! interaction ,
255252 } ) ;
256253}
257254
0 commit comments