diff --git a/packages/bot/src/services/notification.service.ts b/packages/bot/src/services/notification.service.ts index c54e6a0..7584b75 100644 --- a/packages/bot/src/services/notification.service.ts +++ b/packages/bot/src/services/notification.service.ts @@ -13,6 +13,8 @@ import { type MessageCreateOptions, TextChannel, } from 'discord.js'; + +const KUSTING_WEB_URL = 'https://kusting-web.vercel.app'; import type { AttendanceStatusType, Member, Post, Round } from '@blog-study/shared/db'; import { AttendanceStatus, getDb, members, MemberStatus } from '@blog-study/shared/db'; import { eq } from 'drizzle-orm'; @@ -127,11 +129,23 @@ export function buildPostNotificationButtons(): ActionRowBuilder * Requirements: 7.2 - Include all required fields */ export function buildPostNotificationMessage(input: PostNotificationInput): MessageCreateOptions { - const { member } = input; - + const { post, member } = input; + + const row = new ActionRowBuilder().addComponents( + new ButtonBuilder() + .setLabel('πŸ“– λΈ”λ‘œκ·Έ 원문 보기') + .setStyle(ButtonStyle.Link) + .setURL(post.url), + new ButtonBuilder() + .setLabel('πŸ”— νμŠ€νŒ… μ›Ήμ—μ„œ 보기') + .setStyle(ButtonStyle.Link) + .setURL(`${KUSTING_WEB_URL}/posts/${post.id}`), + ); + return { content: `<@${member.discordId}>λ‹˜μ΄ μƒˆ 글을 λ°œν–‰ν–ˆμŠ΅λ‹ˆλ‹€! πŸŽ‰`, embeds: [buildPostNotificationEmbed(input)], + components: [row], }; }