diff --git a/example.env b/example.env deleted file mode 100644 index 8f55c2e..0000000 --- a/example.env +++ /dev/null @@ -1,2 +0,0 @@ -BOT_INSTANCE=(Your Misskey Instance) -BOT_KEY=(Your Misskey api key) diff --git a/modules/Tarot.py b/modules/Tarot.py new file mode 100644 index 0000000..1c890d4 --- /dev/null +++ b/modules/Tarot.py @@ -0,0 +1,91 @@ +from module_interface import ModuleInterface +from mipac.models import Note + +import random + +Card_list = [ + 'The Fool', + 'The Magician', + 'The High Priestess', + 'The Empress', + 'The Emperor', + 'The Hierophant', + 'The Lovers', + 'The Chariot', + 'Strength', + 'The Hermit', + 'Wheel of Fortune', + 'Justice', + 'The Hanged Man', + 'Death', + 'Temperance', + 'Devil', + 'The Tower', + 'The Star', + 'The Moon', + 'The Sun', + 'Judgement', + 'The World' +] + +Card_mean = [ + ['순진, 천진난만함, 언제나 신기한 꿈을 추구, 소박함.', '부주의, 경솔, 단순, 무절제, 사치, 미성숙, 불안정, 불확실함'], + ['독창, 창조, 상상, 자기 확신, 발명의 재주, 융통성, 자기통제, 자제, 극기, 책략.', '독단, 다재다능하여 성공하지 못함, 창조력 부족, 실패, 기술부족'], + ['지혜, 건전한 판단력, 무의식 속의 깨달음, 일반적인 상식, 평온과 침착, 객관적인 타당성, 통찰력, 정신적 경향.', '무지, 연구부족, 비상식적, 결벽증, 자신의 껍질 속에 틀어박힘'], + ['비옥함, 여성다운 발전, 성취, 완성, 어머니, 여성의 영향력, 실용적임, 번영, 출산', '성취하지 못함, 동요, 주저, 태만, 허영심, 제멋대로의 행동, 질투, 달성이 늦어짐, 낭비'], + ['세속적인 힘, 확신, 부유함, 권력, 불굴의 정신, 아버지, 남성의 영향력, 가장(家長)에 해당하는 권위.', '미숙, 의지박약, 현실인식이 약함, 실무능력 부족, 거만함, 고지식함, 경제적 능력이 없음, 강요'], + ['자비와 친절, 신뢰받음, 원조자와의 만남, 공헌, 일을 맡음, 동정심, 용서, 깊은 의미를 깨닫기 위해 노력함.', '보수주의, 자기 자신의 생각에만 사로잡힘, 신용을 잃음, 고립됨, 시야가 좁음, 오래된 원칙에 집착함'], + ['사랑과 미(美), 완성과 조화, 결합, 결혼, 깊은 감정과 낙천주의, 감정의 자연스러움, 윤리적, 도덕적.', '이별, 퇴직, 소홀한 사랑, 사랑의 도피행각 '], + ['목표를 향한 돌진, 극복된 역경, 성공, 여행, 선공필승, 행동적인 사랑, 지휘자, 활발화 한다.', '패배, 전의상실, 제자리 걸음, 좌절, 내키지 않음, 능률저하, 벅찬 라이벌의 등장, 소극적'], + ['용기와 힘, 확신, 결단력, 도전적인 태도, 배짱, 열성, 불굴의 정신, 불가능을 가능으로 만드는 의지력.', '겁쟁이, 체념, 실력부족, 인내력부족, 힘의 오용, 잘난척 함, 유혹에 짐.'], + #9번 은둔자부터 + ['조언, 충고, 사려분별과 신중함, 용의주도 함, 탐구력, 감정을 억제함, 지적방면이 뛰어남.', '무분별, 융통성이 없음, 집중력부족, 편협함, 경박한 사랑을 함, 경계가 심해 진전되지 않는다.'], + ['기회 도래, 전환기, 생각지도 않았던 행운, 운명적, 타이밍이 좋음, 유리한 변화, 승진', '하강기, 때를 잘못 만남, 궁핍함, 불리한 입장이 됨, 실연, 어긋남이 많아짐'], + ['공정함, 균형잡힘, 중립적 입장을 지킴, 조정역할, 조화잡힌 궁합, 합리화 시킴, 분별력, 올바른, 미덕', '불공평함, 불균형, 불리한 조건, 편파, 선입관, 편견과 독단, 꺼림직한 행동, 도덕을 무시하는 사랑'], + ['삶에서의 정지 상태, 일시적인 정지, 과도기, 희생, 시련의 시기, 괴로운 체험으로 교훈을 얻는다.', '열매 맺지 않은 희생, 제멋대로, 필요한 노력을 하지 않는다, 참지 못한다, 이기주의자'], + ['예기치 않은 변화와 손실, 과거 자신에 대한 뜻밖의 변화, 익숙한 상황이나 우정 등의 종결, 계속되는 손해', '기사회생의 찬스, 슬럼프 탈출, 이미지 체인지, 기적적인 회생, 방침을 180°바꿈, 포기했던 것이 되돌아옴'], + ['중용, 절제, 인내, 자기 통제와 검소한 태도를 통한 목표의 달성, 적응과 조화, 좋은 영향력, 순화', '절도 없음이 악영향을 가져다옴, 불규칙한 일, 조정능력이 없음, 쓸데없는 일이 많음'], + ['속박됨, 타락, 비굴해짐, 욕망의 포로, 황폐한 생활, 밤놀이가 과함, 자신을 속이고 있음', '구속에서 도망침, 오랜 고뇌에서 해방됨, 나쁜 인연에서 벗어남, 욕심을 버린다, 나쁜 유혹을 뿌리친다.'], + ['결정적 타격, 분쟁, 트러블 속출, 뜻밖의 사고, 급병, 오래된 신념의 파괴, 대격변을 경험함, 우정의 단절', '긴박한 상황, 험악한 공기, 내분, 파멸직전, 우쭐대다가 뼈아픈 대가를 받는다, 불운의 상황'], + ['소망이 성취됨, 희망에 넘치는 미래, 미적 생활, 아이디어가 떠오름, 상큼한 창조력, 격려가 됨, 밝은 전망', '걸림, 이상이 너무 높음, 실망함, 좋아하지도 않는 일을 하게 됨, 비관적인 상황, 바램이 너무 높음'], + ['속임수, 불분명한 주변의 상황, 위험스러운 요소, 나쁜 영향력, 이기주의, 배신, 숨겨진 적', '위기를 모면함, 조금씩 상황호조, 오해가 풀림, 결심함, 긴 안목으로 봄, 사전에 위험을 알게됨'], + ['만족, 성취, 성공, 호의적인 대인관계, 기쁨, 헌신적인 사랑, 생명력, 활기참, 건강상태가 좋음, 활발함', '영속성이 없음, 생산력 저하, 의기소침, 생활불안, 취소됨, 체력부족, 활동력이 쇠약해짐'], + ['부활의 기쁨, 운이 열린다, 변혁의 시기, 위기탈출, 결단, 좋은 소식, 재회, 건강회복, 되살아나는 사랑', '재기불능, 불리한 결정, 채용되지 않음, 나쁜 소식, 연기됨, 결정하지 못함, 헤어짐'], + ['완성, 성공, 목표달성, 영속성, 전성기, 완벽함, 목적지에 도달함, 정신적 고조, 해피엔드', '미완성, 계획이 성취되지 않음, 준비 부족으로 인한 실패, 도중하차, 슬럼프에 빠짐, 미숙함'] +] + +class Card: + Name = '' + Is_reversed = False + +class Tarot(ModuleInterface): + def __init__(self): + super().__init__() + self.name = "Tarot" + self.regex_pattern = r".*타로.*" + + print("[Tarot] Tarot card module, Tarot V1 loaded.") + + async def execute_module(self, ctx: Note): + print(f"[Tarot] Got Tarot Related Message : {ctx.content}") + Tarot_list = [] + + for i in range(len(Card_list)): + made = Card() + made.Name = Card_list[i] + made.Is_reversed = random.randrange(2)==1 + Tarot_list.append(made) + + random.shuffle(Tarot_list) + + Select = random.randrange(22) + name = Tarot_list[Select-1].Name + ('(역)' if Tarot_list[Select-1].Is_reversed else '') + meaning = Card_mean[Card_list.index(Tarot_list[Select-1].Name)][(1 if Tarot_list[Select-1].Is_reversed else 0)] + + # 뽑은 타로 카드는 Card.Name (역) 이에요! or 뽑은 타로 카드는 Card.Name 이에요! + # 간단한 의미는 Card_mean[Card_list.index(Card.Name)][0] 이에요! or Card_mean[Card_list.index(Card.Name)][1] 이에요! + + await ctx.api.action.reply(f"뽑은 타로 카드는 **{name}** 이에요!\n간단한 의미는 **{meaning}** 이에요!", visibility="home") + + +