Skip to content

Commit 150bb9d

Browse files
committed
[Fix]: update announcement handling to use original interaction for message updates and improve logging
1 parent 10f3aaa commit 150bb9d

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

src/commands/announce-handlers.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

src/commands/announce.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ async function execute(interaction: any) {
135135
guildId,
136136
requestId,
137137
channelId: cfg.channels.announcements,
138-
previewMessage: undefined, // Se guardará el mensaje del preview para actualizarlo
138+
originalInteraction: undefined, // Se guardará la interacción original para usar editReply
139139
announcement: {
140140
title: undefined,
141141
message: undefined,

0 commit comments

Comments
 (0)