runabot/Christmas/UI/Embed.py

73 lines
3.5 KiB
Python
Raw Normal View History

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
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 04:27:34 +00:00
def set_footer(self, *, text: Any | None = "크돌이", icon_url: Any | None = "https://discord.com/assets/6dbfff5aae6b1de2b83f.svg") -> None:
2023-11-25 17:28:48 +00:00
super().set_footer(text=text, icon_url=icon_url)
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="편지를 정말로 전송하시겠습니까?")
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)
2023-11-25 17:28:48 +00:00
embed.set_footer()
return embed
@staticmethod
def mail_sended(receive_user: Member) -> Embed:
2023-11-26 04:27:34 +00:00
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