runabot/Christmas/UI/Embed.py
tmddn3070 3605311570 Add edit mode functionality to Mail_Confirm_Button
and implement mail checking feature
2023-11-27 00:27:32 +09:00

153 lines
7.6 KiB
Python

from typing import Any, Optional
from discord import Embed, Colour, Embed, Member
from discord.types.embed import EmbedType
from datetime import datetime
from korcen import korcen
class ChristmasEmbed(Embed):
def __init__(self, *,
color: int | Colour | None = 0xf4f9ff,
title: Any | None = None,
type: EmbedType = "rich",
url: Any | None = None,
description: Any | None = None,
timestamp: datetime | None = None,
):
super().__init__(
color=color,
title=title,
type=type,
url=url,
description=description,
timestamp=timestamp,
)
def set_footer(self, *, text: Any | None = "ν¬λŒμ΄β›„", icon_url: Any | None = "https://discord.com/assets/6dbfff5aae6b1de2b83f.svg") -> None:
super().set_footer(text=text)
class Default_Embed:
@staticmethod
def default_join_embed():
embed = ChristmasEmbed(title="πŸŽ‰ 크돌이λ₯Ό μΆ”κ°€ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•΄μš”!", description="봇을 μ‚¬μš©ν•˜κΈ° 전에 이 μ„œλ²„μ˜ κ΄€λ¦¬μžλΌλ©΄ λ‹€μŒμ˜ 절차λ₯Ό λ”°λΌμ£Όμ„Έμš”!")
embed.add_field(name="1. μ•½κ΄€ λ™μ˜", value="λ‹€μŒμ˜ 약관을 읽고 ``/μ„œλ²„ κ°€μž…``λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•΄μ£Όμ„Έμš”", inline=False)
embed.add_field(name="2. μ„€μ •", value="``/μ„€μ •`` λͺ…λ Ήμ–΄λ₯Ό 톡해 크돌이의 μ—¬λŸ¬ κΈ°λŠ₯을 μ„€μ •ν• μˆ˜ μžˆμ–΄μš”!", inline=False)
embed.add_field(name="3. 도움말", value="``/도움말`` λͺ…λ Ήμ–΄λ₯Ό 톡해 크돌이의 λͺ…λ Ήμ–΄λ₯Ό 확인할 수 μžˆμ–΄μš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def register_sucess():
embed = ChristmasEmbed(title="πŸŽ‰ κ°€μž… 성곡!", description="μ„œλ²„κ°€μž…μ„ μ„±κ³΅ν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="이제 크돌이λ₯Ό μ¦κ²¨λ³΄μ„Έμš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def register_failed():
embed = ChristmasEmbed(title="❌ κ°€μž… μ‹€νŒ¨!", description="μ„œλ²„κ°€μž…μ„ μ‹€νŒ¨ν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="μ•Œμˆ˜μ—†λŠ” 였λ₯˜λ‘œ 인해 κ°€μž…μ— μ‹€νŒ¨ν–ˆμ–΄μš”! 이 ν˜„μƒμ΄ μ§€μ†λœλ‹€λ©΄ μ„œλΉ„μŠ€ μ„œλ²„μ— λ¬Έμ˜ν•΄μ£Όμ„Έμš”!", inline=False)
embed.set_footer()
return embed
class Mail_Embed:
@staticmethod
def mail_confirm(title: str, description: str, receive_user: Member) -> Embed:
embed = ChristmasEmbed(title="⚠️ 전솑전 확인", description="νŽΈμ§€λ₯Ό μ •λ§λ‘œ μ „μ†‘ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?")
embed.add_field(name="⚠️ μ£Όμ˜μ‚¬ν•­ ⚠️", value="νŽΈμ§€λŠ” ν•œ 번 μ „μ†‘ν•˜λ©΄ ν•œλ²ˆμ˜ μˆ˜μ • 기회 μ΄ν›„μ—λŠ” μ·¨μ†Œν•  수 μ—†μ–΄μš”!\n λ‚΄μš©μ„ 잘 읽고 ``전솑``λ²„νŠΌμ„ λˆŒλŸ¬μ£Όμ„Έμš”!", inline=False)
embed.add_field(name="λ°›λŠ”μ΄", value=f"{receive_user.mention}", inline=False)
embed.add_field(name="제λͺ©", value=title, inline=False)
embed.add_field(name="λ‚΄μš©", value=description, inline=False)
embed.set_footer()
return embed
@staticmethod
def mail_confirm_edit(title: str, description: str, receive_user: Member) -> Embed:
embed = ChristmasEmbed(title="⚠️ μˆ˜μ •μ „ 확인", description="νŽΈμ§€λ₯Ό μ •λ§λ‘œ μˆ˜μ •ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?")
embed.add_field(name="⚠️ μ£Όμ˜μ‚¬ν•­ ⚠️", value="μ΄λ²ˆμ— νŽΈμ§€λ₯Ό μˆ˜μ •ν•˜λ©΄ λ‹€μ‹œλŠ” μˆ˜μ •ν•  수 μ—†κ²Œ λ˜μš”!\n λ‚΄μš©μ„ 잘 읽고 ``전솑``λ²„νŠΌμ„ λˆŒλŸ¬μ£Όμ„Έμš”!", inline=False)
embed.add_field(name="λ°›λŠ”μ΄", value=f"{receive_user.mention}", inline=False)
embed.add_field(name="제λͺ©", value=title, inline=False)
embed.add_field(name="λ‚΄μš©", value=description, inline=False)
embed.set_footer()
return embed
@staticmethod
def mail_cant_edit():
embed = ChristmasEmbed(title="❌ νŽΈμ§€ μˆ˜μ • μ‹€νŒ¨!", description="νŽΈμ§€ μˆ˜μ •μ— μ‹€νŒ¨ν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="νŽΈμ§€λŠ” ν•œ 번 μ „μ†‘ν•˜λ©΄ ν•œλ²ˆμ˜ μˆ˜μ • 기회 μ΄ν›„μ—λŠ” μ·¨μ†Œν•  수 μ—†μ–΄μš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def mail_sended(receive_user: Member) -> Embed:
embed = ChristmasEmbed(title="βœ… μ „μ†‘μ™„λ£Œ!", description="νŽΈμ§€ 전솑을 μ™„λ£Œν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="보낸 νŽΈμ§€λŠ” 2023λ…„ 12μ›” 25일뢀터 μ—΄λžŒ κ°€λŠ₯ν•΄μš”!", inline=False)
embed.add_field(name="λ°›λŠ”μ΄", value=f"{receive_user.mention}", inline=False)
return embed
@staticmethod
def mail_edit_sended(receive_user: Member) -> Embed:
embed = ChristmasEmbed(title="βœ… μˆ˜μ •μ™„λ£Œ!", description="νŽΈμ§€ μˆ˜μ •μ„ μ™„λ£Œν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="μˆ˜μ •λœ νŽΈμ§€λŠ” 2023λ…„ 12μ›” 25일뢀터 μ—΄λžŒ κ°€λŠ₯ν•΄μš”!", inline=False)
embed.add_field(name="λ°›λŠ”μ΄", value=f"{receive_user.mention}", inline=False)
return embed
@staticmethod
def mail_notfound() -> Embed:
embed = ChristmasEmbed(title="❌ νŽΈμ§€ μ—†μŒ!", description="νŽΈμ§€κ°€ μ—†μ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="받은 νŽΈμ§€κ°€ μ—†μ–΄μš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def mail_already_sended() -> Embed:
embed = ChristmasEmbed(title="❌ νŽΈμ§€ 전솑 μ‹€νŒ¨!", description="이미 νŽΈμ§€λ₯Ό λ³΄λƒˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="이미 νŽΈμ§€λ₯Ό λ³΄λƒˆμ–΄μš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def mail_page(data) -> Embed:
embed = ChristmasEmbed(title="πŸ“¨ νŽΈμ§€", description="νŽΈμ§€λ₯Ό ν™•μΈν•΄λ³΄μ„Έμš”!(μš•μ„€λ“± λ―Όκ°ν•œ λ‚΄μš©μ΄ ν¬ν•¨λœ λ‚΄μš©μ€ μžλ™μœΌλ‘œ μŠ€ν¬μΌλŸ¬μ²˜λ¦¬λ˜μš”!)")
username = data["username"]
userid = data["userid"]
title = data["title"]
description = data["content"]
if korcen.check(title) == True:
title = "||" + title + "||"
if korcen.check(description) == True:
description = "||" + description + "||"
embed.add_field(name="보낸이", value=f"{username}({userid})", inline=False)
embed.add_field(name="제λͺ©", value=title, inline=False)
embed.add_field(name="λ‚΄μš©", value=description, inline=False)
embed.set_footer()
return embed
class Aiart_Embed:
@staticmethod
def failed_generate() -> Embed:
embed = ChristmasEmbed(title="❌ κ·Έλ¦Ό 생성 μ‹€νŒ¨!", description="κ·Έλ¦Ό 생성에 μ‹€νŒ¨ν–ˆμ–΄μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="κ·Έλ¦Ό 생성에 μ‹€νŒ¨ν–ˆμ–΄μš”! 이 ν˜„μƒμ΄ μ§€μ†λœλ‹€λ©΄ μ„œλΉ„μŠ€ μ„œλ²„μ— λ¬Έμ˜ν•΄μ£Όμ„Έμš”!", inline=False)
embed.set_footer()
return embed
@staticmethod
def sucess_generate(prompt: str, remove: str) -> Embed:
embed = ChristmasEmbed(title="βœ… κ·Έλ¦Ό 생성 성곡!", description="κ·Έλ¦Ό 생성에 μ„±κ³΅ν–ˆμ–΄μš”!")
embed.add_field(name="ν”„λ‘¬ν¬νŠΈ", value=prompt, inline=False)
embed.add_field(name="μ§€μš΄ ν”„λ‘¬ν¬νŠΈ", value=remove, inline=False)
embed.set_image(url="attachment://image.png")
embed.set_footer()
return embed
@staticmethod
def generating() -> Embed:
embed = ChristmasEmbed(title="κ·Έλ¦Ό 생성쀑...", description="그림을 μƒμ„±ν•˜λŠ” μ€‘μ΄μ—μš”!")
embed.add_field(name="μ•ˆλ‚΄", value="κ·Έλ¦Ό μƒμ„±μ—λŠ” μ΅œλŒ€ 2뢄이 μ†Œμš”λ  수 μžˆμ–΄μš”!(ν¬λŒμ΄λŠ” 돈이 μ—†μ–΄μš”...)", inline=False)
embed.set_footer()
return embed