minya_hotomoe/modules/Ai_tem.py

336 lines
7.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from module_interface import ModuleInterface
import random
itemPrefixes = [
"플라티나로 만든",
"신선한",
"최신의",
"고대의",
"수제",
"시계장치의",
"전설의",
"구이",
"날것의",
"미냐가 만든",
"포켓 사이즈",
"사흘 전의",
"그 근처의",
"",
"사용된",
"고장난",
"시판되는",
"주문제작된",
"업무용의",
"Microsoft제",
"Apple제",
"인류 기술의 결정체인",
"2021년산",
"500kg정도의",
"고오급",
"썩은",
"인공지능 탑재",
"블록체인 탑재",
"반중력",
"접이식",
"휴대용",
"유전자 재조합",
"돌연변이로 비행 능력이 있는",
"순금으로 만든",
"투명한",
"빛나는",
"하트 모양의",
"움직이는",
"반으로 잘린",
"USB 커넥터가 달린",
"지난 날의",
"저주받은",
"인챈트된",
"하루치의 비타민이 들어간",
"손을 댄",
"환상의",
"가상의",
"원자력",
"고도로 훈련받은",
"유전자 조작이 아닌",
"런던 중심부에서 발견된",
"이세계의",
"다른 별의",
"수수께끼의",
"시공을 일그러뜨리는",
"이상한 소리가 나는",
"무산된",
"플라즈마화된",
"충격을 주면 낮은 확률로 폭발하는",
"주키니로 변신한",
"가설의",
"독이 있는",
"진짜",
"궁극의",
"초코가 들어간",
"악취가 나는",
"4차원",
"박동하는",
"정체를 알 수 없는",
"네모난",
"날뛰는",
"꿈의",
"어둠의",
"암흑의",
"봉인된",
"죽음의",
"얼어버린",
"마의",
"금단의",
"홀로그래픽",
"유압식",
"부호 없는",
"지극히 평범한",
"수상할 정도로 돈이 많은",
"지원 중단된",
"말도 안 되는",
"즐거운",
"그 뭐냐...",
"뭐였더라...",
"어...",
"박식한",
"주운",
"친환경적인",
"문학적인",
"검증이 필요한",
"나이틀리 빌드의",
"와이어프레임",
"프로토타입",
"ActivityPub 표준을 따르는",
"ISO 표준에 명시된",
"정의되지 않은 동작을 수행하는",
"아마도",
"x86 어셈블리어로 짜여진",
"+𝑥 방향으로 𝐹의 힘을 받아 등가속도 운동하는 질량 𝑚의",
"넓이가 7π인",
"유료 광고가 포함된",
"여름 냄새 나는",
"적당한",
"주격 관계대명사절을 가진",
]
items = [
"가지",
"토마토",
"오이",
"감자",
"볶음국수",
"허리",
"초밥",
"호박",
"유키치",
"금괴",
"알루미늄",
"나트륨",
"마그네슘",
"플루토늄",
"작은 금속",
"우유팩",
"페트병",
"쿠키",
"초콜릿",
"메이드복",
"오렌지",
"니삭스",
"반물질 콘덴서",
"입자가속기",
"마이크로프로세서 (8코어 16스레드)",
"원자력 발전소",
"L4 스위치",
"완충 체인",
"양전자 두뇌",
"행성",
"테르민",
"충치차",
"마운터",
"버킷 휠 익스커베이터",
"데몬 코어",
"게임보이 어드밴스",
"양자컴퓨터",
"아나몰픽 렌즈",
"벽장에서 나온 수수께끼의 생물",
"스마트폰",
"시계",
"푸딩",
"가브리엘의 나팔",
"맹거의 스펀지",
"피젯 스피너",
"초입방체",
"건축물",
"에너지 드링크",
"마우스 커서",
"안경",
"참치",
"쓰레기통",
"이쑤시개",
"도시락에 들어가는 초록색 칸막이같은 녀석",
"나무젓가락",
"환기구",
"페트병의 뚜껑",
"소파 블럭",
"피자",
"치약",
"깡통",
"열쇠고리",
"금발 벽안의 미소녀",
"SD카드",
"립 크림",
"초코 없는 초코소라빵",
"조류독감",
"자판기",
"무거운 것",
"노트북",
"육포",
"연어 치즈",
"다이아몬드",
"물체",
"월석",
"특이점",
"중성자별",
"액체",
"위성",
"주키니",
"검은 것",
"흰 것",
"빨간 것",
"동그란 것",
"네모난 것",
"카드 모양의 것",
"기체",
"연필",
"지우개",
"양날검",
"막대 모양의 것",
"농산물",
"메탈 슬라임",
"문어발",
"버섯",
"나메코",
"호로요이",
"손톱깎기",
"귓속말",
"인형",
"티라노사우르스",
"요로결석",
"엔터 키",
"항아리",
"수은",
"",
"토지",
"대륙",
"주사위",
"실외기",
"유압잭",
"타피오카",
"PSP",
"화장지 심지",
"골판지 상자",
"하니와",
"볼펜",
"샤펜",
"원자",
"우주",
"소립자",
"참기름",
"undefined",
"None",
"NAN",
"[object Object]",
"%s",
"EMP",
"비상 발전기",
"계단",
"자동차",
"그거",
"그 뭐냐 그거",
"수행평가",
"OMR 카드",
"비행선",
"바다",
"조각배",
"공인인증서",
"학교생활기록부(대입전형용)",
"건물",
"연합우주",
"편미분방정식",
"리만 제타 함수 ζ(s)",
"최고차항의 계수가 1인 다항함수 𝑓(𝑥)",
"데자와",
"콩 통조림",
"책상",
"납땜기",
"코드 조각",
"히라가나",
"사랑",
"",
"지식",
"낭만",
"정의",
"사회",
"우정",
"사이클로헥실설파민산나트륨",
]
ands = [
[None, None, "에 빙의한"],
[None, None, "에 들어가는"],
[None, None, "에 묻힌"],
["", "", " 연상시키는"],
[None, None, " 같은"],
["으로", "", " 가장한"],
[None, None, "에 올려진"],
[None, None, " 옆에 있는"],
[None, None, "보다 나은"],
[None, None, "처럼 보이지만 사실은"],
["", "", " 제물로 삼아 소환한"],
["", "", " 미묘한 관계에 있는"],
]
from mipac.models import Note
class AiTem(ModuleInterface):
def __init__(self):
super().__init__()
self.name = "Ai-tem"
self.regex_pattern = ".*Test_AI-tem"
self.funcs["generate"] = self._generate
print("[Ai-tem] Ai-like item generator, Ai-tem V1 loaded.")
async def execute_module(self, ctx: Note):
print("[Ai-tem] test Generate Note")
await ctx.api.action.reply(str(self._generate()), visibility="home")
def _generate(self):
item1_sel = random.choice(items)
con_sel = random.choice(ands)
item1_comp = (
self.manager.require("K-Josa").get_func("process_josa")(
item1_sel, con_sel[0], con_sel[1]
)
+ con_sel[2]
)
return (
random.choice(itemPrefixes)
+ " "
+ (
(
item1_comp
+ " "
+ random.choice(itemPrefixes)
+ " "
+ random.choice(items)
)
if random.choice([True, False])
else item1_sel
)
)
def module_ready(self):
print("[Ai-tem] Module Ready.")