diff --git a/bot.py b/bot.py index 0ba107c..938dbc9 100644 --- a/bot.py +++ b/bot.py @@ -91,9 +91,7 @@ def fmt_deadline(value: Optional[Union[datetime, str]]) -> str: def _lecture_datetime_str(lecture: Dict[str, Any]) -> str: - d = fmt_date(lecture.get("lecture_date")) - t = fmt_time(lecture.get("lecture_time")) - return f"{d} {t}".strip() + return fmt_date(lecture.get("lecture_date")) def _make_progress_bar(enrolled: int, capacity: int, width: int = 10) -> str: @@ -112,19 +110,18 @@ def _build_base_embed( color=EMBED_COLOR, timestamp=datetime.now(timezone.utc), ) - embed.add_field(name="πŸ“Œ κ°•μ—° 제λͺ©", value=f"**{lecture['title']}**", inline=False) + embed.add_field(name="κ°•μ—° 제λͺ©", value=f"**{lecture['title']}**", inline=False) embed.add_field( - name="🎯 λŒ€μƒμž", value=lecture.get("target") or "전체", inline=True + name="μ—°μ‚¬μž", value=lecture.get("creator_name") or "λ―Έμ •", inline=True ) + embed.add_field(name="λŒ€μƒμž", value=lecture.get("target") or "전체", inline=True) embed.add_field( - name="πŸ“ μž₯μ†Œ", value=lecture.get("lecture_location") or "λ―Έμ •", inline=True + name="μž₯μ†Œ", value=lecture.get("lecture_location") or "λ―Έμ •", inline=True ) + embed.add_field(name="κ°•μ—° μΌμ‹œ", value=_lecture_datetime_str(lecture), inline=True) embed.add_field( - name="πŸ“… κ°•μ—° μΌμ‹œ", value=_lecture_datetime_str(lecture), inline=True - ) - embed.add_field( - name="⏰ μ‹ μ²­ 마감", + name="μ‹ μ²­ 마감", value=fmt_deadline(lecture.get("application_deadline")), inline=True, ) @@ -132,11 +129,11 @@ def _build_base_embed( def make_new_lecture_embed(lecture: Dict[str, Any]) -> discord.Embed: - embed = _build_base_embed("✨ μƒˆ 릴레이 μŠ€ν„°λ””κ°€ λ“±λ‘λμ–΄μš”!", lecture) + embed = _build_base_embed("βœ¨μƒˆ 릴레이 μŠ€ν„°λ””κ°€ λ“±λ‘λμ–΄μš”!", lecture) if lecture.get("lecture_url"): embed.add_field( - name="πŸ”— μ‹ μ²­ 링크", - value=f"[πŸ‘‰ κ°•μ—° μ‹ μ²­ν•˜λŸ¬ κ°€κΈ°]({lecture['lecture_url']})", + name="μ‹ μ²­ 링크", + value=f"πŸ‘‰[κ°•μ—° μ‹ μ²­ν•˜λŸ¬ κ°€κΈ°]({lecture['lecture_url']})", inline=False, ) embed.set_footer(text=FOOTER_TEXT) @@ -144,13 +141,15 @@ def make_new_lecture_embed(lecture: Dict[str, Any]) -> discord.Embed: def make_confirmed_embed(lecture: Dict[str, Any], enrolled_count: int) -> discord.Embed: - desc = f"πŸŽ‰ **{lecture['title']}** 강연이 {CONFIRMED_MIN}λͺ… 이상 λͺ¨μ—¬ κ°œμ„€ ν™•μ •λμŠ΅λ‹ˆλ‹€!" - embed = _build_base_embed("πŸ”₯ 릴레이 μŠ€ν„°λ”” κ°œμ„€ ν™•μ •!", lecture, description=desc) - embed.add_field(name="πŸ‘₯ ν˜„μž¬ 인원", value=f"**{enrolled_count}λͺ…**", inline=True) + desc = ( + f"**{lecture['title']}** 강연이 {CONFIRMED_MIN}λͺ… 이상 λͺ¨μ—¬ κ°œμ„€ ν™•μ •λμŠ΅λ‹ˆλ‹€!" + ) + embed = _build_base_embed("릴레이 μŠ€ν„°λ”” κ°œμ„€ ν™•μ •!", lecture, description=desc) + embed.add_field(name="ν˜„μž¬ 인원", value=f"**{enrolled_count}λͺ…**", inline=True) if lecture.get("lecture_url"): embed.add_field( - name="πŸ”— μ‹ μ²­ 링크", - value=f"[πŸ‘‰ κ°•μ—° μ‹ μ²­ν•˜λŸ¬ κ°€κΈ°]({lecture['lecture_url']})", + name="μ‹ μ²­ 링크", + value=f"[κ°•μ—° μ‹ μ²­ν•˜λŸ¬ κ°€κΈ°]({lecture['lecture_url']})", inline=False, ) embed.set_footer(text=FOOTER_TEXT) @@ -262,7 +261,7 @@ async def cmd_rels(ctx: commands.Context) -> None: display_lectures = lectures[:25] embed = discord.Embed( - title="πŸ“‹ μ‹ μ²­ κ°€λŠ₯ν•œ κ°•μ—° λͺ©λ‘", + title="μ‹ μ²­ κ°€λŠ₯ν•œ κ°•μ—° λͺ©λ‘", color=EMBED_COLOR, timestamp=datetime.now(timezone.utc), ) @@ -273,14 +272,12 @@ async def cmd_rels(ctx: commands.Context) -> None: lines = [] if is_confirmed: - lines.append("βœ… **κ°œμ„€ ν™•μ •**") - lines.append(f"πŸ“… **μΌμ‹œ:** {_lecture_datetime_str(lecture)}") - lines.append( - f"⏰ **마감:** {fmt_deadline(lecture.get('application_deadline'))}" - ) - lines.append(f"🎯 **λŒ€μƒ:** {target}") + lines.append("**κ°œμ„€ ν™•μ •**") + lines.append(f"μΌμ‹œ: {_lecture_datetime_str(lecture)}") + lines.append(f"마감: {fmt_deadline(lecture.get('application_deadline'))}") + lines.append(f"λŒ€μƒ: {target}") if lecture.get("lecture_url"): - lines.append(f"πŸ”— [μ‹ μ²­ν•˜κΈ°]({lecture['lecture_url']})") + lines.append(f"[μ‹ μ²­ν•˜κΈ°]({lecture['lecture_url']})") embed.add_field( name=f"{lecture['title']}", @@ -309,7 +306,7 @@ async def cmd_headcount(ctx: commands.Context) -> None: return embed = discord.Embed( - title="πŸ“Š 릴레이 μŠ€ν„°λ”” 인원 ν˜„ν™©", + title="릴레이 μŠ€ν„°λ”” 인원 ν˜„ν™©", color=EMBED_COLOR, timestamp=datetime.now(timezone.utc), ) @@ -323,9 +320,9 @@ async def cmd_headcount(ctx: commands.Context) -> None: bar = _make_progress_bar(enrolled_count, capacity) status_tag = ( - "βœ… κ°œμ„€ ν™•μ •" + "κ°œμ„€ ν™•μ •" if enrolled_count >= CONFIRMED_MIN - else f"⏳ {CONFIRMED_MIN - enrolled_count}λͺ… 더 λͺ¨μ΄λ©΄ ν™•μ •" + else f"{CONFIRMED_MIN - enrolled_count}λͺ… 더 λͺ¨μ΄λ©΄ ν™•μ •" ) value = f"`{bar}` **{enrolled_count}/{capacity}λͺ…** | {status_tag}" @@ -340,7 +337,7 @@ async def cmd_headcount(ctx: commands.Context) -> None: @bot.command(name="도움말") async def cmd_help(ctx: commands.Context) -> None: - embed = discord.Embed(title="πŸ’‘ 릴슀 봇 λͺ…λ Ήμ–΄ λͺ©λ‘", color=EMBED_COLOR) + embed = discord.Embed(title="릴슀 봇 λͺ…λ Ήμ–΄ λͺ©λ‘", color=EMBED_COLOR) embed.add_field(name="!릴슀", value="ν˜„μž¬ μ‹ μ²­ κ°€λŠ₯ν•œ κ°•μ—° λͺ©λ‘ 보기", inline=False) embed.add_field(name="!인원", value="강연별 μ‹ μ²­ 인원 ν˜„ν™© 보기", inline=False) embed.add_field(name="!도움말", value="λͺ…λ Ήμ–΄ μ•ˆλ‚΄", inline=False)