Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

Commit

Permalink
update message when button clicked
Browse files Browse the repository at this point in the history
  • Loading branch information
sebasptsch committed Jan 17, 2023
1 parent 8cbe7fb commit 61013e5
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 14 deletions.
38 changes: 25 additions & 13 deletions src/bot/bot.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
userMention,
} from '@discordjs/builders';
import { Injectable, Logger, UseInterceptors } from '@nestjs/common';
import { Event, RSVPStatus } from '@prisma/client';
import { Event, RSVP, RSVPStatus } from '@prisma/client';
import {
ActionRowBuilder,
BaseMessageOptions,
Expand Down Expand Up @@ -307,6 +307,9 @@ export class BotService {
where: {
id: meeting,
},
include: {
RSVP: true,
},
});

if (!event)
Expand All @@ -316,7 +319,7 @@ export class BotService {
});

return interaction.reply(
rsvpReminderMessage(event, this.config.get('FRONTEND_URL')),
rsvpReminderMessage(event, event.RSVP, this.config.get('FRONTEND_URL')),
);
}

Expand Down Expand Up @@ -419,16 +422,21 @@ export class BotService {
},
status: rsvpStatus,
},
include: {
event: {
include: {
RSVP: true,
},
},
},
});

const embed = new EmbedBuilder()
.setDescription(rsvpToDescription(rsvp))
.setTitle('Successfully Updated')
.setColor([0, 255, 0]);
const event = rsvp.event;
const rsvps = event.RSVP;
const frontendUrl = this.config.getOrThrow('FRONTEND_URL');

return interaction.reply({
ephemeral: true,
embeds: [embed],
return interaction.update({
...rsvpReminderMessage(rsvp.event, rsvps, frontendUrl),
});
}
}
Expand Down Expand Up @@ -479,8 +487,11 @@ function readableStatus(status: RSVPStatus) {

export const rsvpReminderMessage = (
event: Event,
rsvp: RSVP[],
frontendUrl: string,
): BaseMessageOptions => {
const description = rsvp.map(rsvpToDescription).join('\n');

const meetingEmbed = new EmbedBuilder({
description: event.description ?? undefined,
})
Expand All @@ -491,6 +502,7 @@ export const rsvpReminderMessage = (
{ name: 'Start Time', value: time(event.startDate) },
{ name: 'End Time', value: time(event.endDate) },
)
.setDescription(description)
.setURL(`${frontendUrl}/event/${event.id}`);

const messageComponent = new ActionRowBuilder<ButtonBuilder>().addComponents(
Expand All @@ -506,10 +518,10 @@ export const rsvpReminderMessage = (
.setCustomId(`event/${event.id}/rsvp/${RSVPStatus.NO}`)
.setStyle(ButtonStyle.Danger)
.setLabel('Not Coming'),
new ButtonBuilder()
.setCustomId(`event/${event.id}/rsvps`)
.setStyle(ButtonStyle.Primary)
.setLabel('RSVPs'),
// new ButtonBuilder()
// .setCustomId(`event/${event.id}/rsvps`)
// .setStyle(ButtonStyle.Primary)
// .setLabel('RSVPs'),
);

return {
Expand Down
5 changes: 4 additions & 1 deletion src/task/task.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,13 @@ export class TaskService {
},
],
},
include: {
RSVP: true,
},
});

const messages = nextEvents.map((event) =>
rsvpReminderMessage(event, this.config.get('FRONTEND_URL')),
rsvpReminderMessage(event, event.RSVP, this.config.get('FRONTEND_URL')),
);

const attendanceChannelId = this.config.getOrThrow('ATTENDANCE_CHANNEL');
Expand Down

0 comments on commit 61013e5

Please sign in to comment.