2023-11-25 17:28:48 +00:00
|
|
|
from typing import Any, Optional
|
|
|
|
from discord import Embed, Colour, Embed, Member
|
|
|
|
from discord.types.embed import EmbedType
|
|
|
|
from datetime import datetime
|
2023-11-26 15:27:32 +00:00
|
|
|
from korcen import korcen
|
2023-11-25 17:28:48 +00:00
|
|
|
|
|
|
|
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,
|
|
|
|
)
|
|
|
|
|
2023-11-26 15:27:32 +00:00
|
|
|
def set_footer(self, *, text: Any | None = "크돌이⛄", icon_url: Any | None = "https://discord.com/assets/6dbfff5aae6b1de2b83f.svg") -> None:
|
|
|
|
super().set_footer(text=text)
|
2023-11-25 17:28:48 +00:00
|
|
|
|
2023-11-26 04:27:34 +00:00
|
|
|
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
|
|
|
|
|
2023-11-25 17:28:48 +00:00
|
|
|
|
|
|
|
class Mail_Embed:
|
|
|
|
|
|
|
|
@staticmethod
|
2023-11-26 04:27:34 +00:00
|
|
|
def mail_confirm(title: str, description: str, receive_user: Member) -> Embed:
|
|
|
|
embed = ChristmasEmbed(title="⚠️ 전송전 확인", description="편지를 정말로 전송하시겠습니까?")
|
2023-11-26 15:27:32 +00:00
|
|
|
embed.add_field(name="⚠️ 주의사항 ⚠️", value="편지는 한 번 전송하면 한번의 수정 기회 이후에는 취소할 수 없어요!\n 내용을 잘 읽고 ``전송``버튼을 눌러주세요!", inline=False)
|
2023-11-26 04:27:34 +00:00
|
|
|
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)
|
2023-11-25 17:28:48 +00:00
|
|
|
embed.set_footer()
|
|
|
|
return embed
|
|
|
|
|
2023-11-26 15:27:32 +00:00
|
|
|
@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
|
|
|
|
|
|
|
|
|
2023-11-25 17:28:48 +00:00
|
|
|
@staticmethod
|
|
|
|
def mail_sended(receive_user: Member) -> Embed:
|
2023-11-26 04:27:34 +00:00
|
|
|
embed = ChristmasEmbed(title="✅ 전송완료!", description="편지 전송을 완료했어요!")
|
2023-11-26 15:27:32 +00:00
|
|
|
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)
|
2023-11-26 04:27:34 +00:00
|
|
|
embed.add_field(name="받는이", value=f"{receive_user.mention}", inline=False)
|
|
|
|
return embed
|
|
|
|
|
2023-11-26 15:27:32 +00:00
|
|
|
@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
|