73 lines
3.5 KiB
Python
73 lines
3.5 KiB
Python
from typing import Any, Optional
|
|
from discord import Embed, Colour, Embed, Member
|
|
from discord.types.embed import EmbedType
|
|
from datetime import datetime
|
|
|
|
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, icon_url=icon_url)
|
|
|
|
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_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
|
|
|
|
|