minya_hotomoe/modules/Ai_tem.py
2023-09-13 19:50:41 +09:00

251 lines
4.9 KiB
Python

from module_interface import ModuleInterface
import random
itemPrefixes = [
'플라티나로 만든',
'신선한',
'최신의',
'고대의',
'수제',
'시계장치의',
'전설의',
'구이',
'날것의',
'미냐가 만든',
'포켓 사이즈',
'사흘 전의',
'그 근처의',
'',
'사용된',
'고장난',
'시판되는',
'주문제작된',
'업무용의',
'Microsoft제',
'Apple제',
'인류 기술의 결정체인',
'2021년산',
'500kg정도의',
'고오급',
'썩은',
'인공지능 탑재',
'블록체인 탑재',
'반중력',
'접이식',
'휴대용',
'유전자 재조합',
'돌연변이로 비행 능력이 있는',
'순금으로 만든',
'투명한',
'빛나는',
'하트 모양의',
'움직이는',
'반으로 잘린',
'USB 커넥터가 달린',
'지난 날의',
'저주받은',
'인챈트된',
'하루치의 비타민이 들어간',
'손을 댄',
'환상의',
'가상의',
'원자력',
'고도로 훈련받은',
'유전자 조작이 아닌',
'런던 중심부에서 발견된',
'이세계의',
'다른 별의',
'수수께끼의',
'시공을 일그러뜨리는',
'이상한 소리가 나는',
'무산된',
'플라즈마화된',
'충격을 주면 낮은 확률로 폭발하는',
'주키니로 변신한',
'가설의',
'독이 있는',
'진짜',
'궁극의',
'초코가 들어간',
'악취가 나는',
'4차원',
'박동하는',
'정체를 알 수 없는',
'네모난',
'날뛰는',
'꿈의',
'어둠의',
'암흑의',
'봉인된',
'죽음의',
'얼어버린',
'마의',
'금단의',
'홀로그래픽',
'유압식',
]
items = [
'가지',
'토마토',
'오이',
'감자',
'볶음국수',
'허리',
'초밥',
'호박',
'유키치',
'금괴',
'알루미늄',
'나트륨',
'마그네슘',
'플루토늄',
'작은 금속',
'우유팩',
'페트병',
'쿠키',
'초콜릿',
'메이드복',
'오렌지',
'니삭스',
'반물질 콘덴서',
'입자가속기',
'마이크로프로세서 (8코어 16스레드)',
'원자력 발전소',
'L4 스위치',
'완충 체인',
'양전자 두뇌',
'행성',
'테르민',
'충치차',
'마운터',
'버킷 휠 익스커베이터',
'데몬 코어',
'게임보이 어드밴스',
'양자컴퓨터',
'아나몰픽 렌즈',
'벽장에서 나온 수수께끼의 생물',
'스마트폰',
'시계',
'푸딩',
'가브리엘의 나팔',
'맹거의 스펀지',
'피젯 스피너',
'초입방체',
'건축물',
'에너지 드링크',
'마우스 커서',
'안경',
'참치',
'쓰레기통',
'이쑤시개',
'도시락에 들어가는 초록색 칸막이같은 녀석',
'나무젓가락',
'환기구',
'페트병의 뚜껑',
'소파 블럭',
'피자',
'치약',
'깡통',
'열쇠고리',
'금발 벽안의 미소녀',
'SD카드',
'립 크림',
'초코 없는 초코소라빵',
'조류독감',
'자판기',
'무거운 것',
'노트북',
'육포',
'연어 치즈',
'다이아몬드',
'물체',
'월석',
'특이점',
'중성자별',
'액체',
'위성',
'주키니',
'검은 것',
'흰 것',
'빨간 것',
'동그란 것',
'네모난 것',
'카드 모양의 것',
'기체',
'연필',
'지우개',
'양날검',
'막대 모양의 것',
'농산물',
'메탈 슬라임',
'문어발',
'버섯',
'나메코',
'호로요이',
'손톱깎기',
'귓속말',
'인형',
'티라노사우르스',
'요로결석',
'엔터 키',
'항아리',
'수은',
'DHMO',
'',
'토지',
'대륙',
'주사위',
'실외기',
'유압잭',
'타피오카',
'PSP',
'화장지 심지',
'골판지 상자',
'하니와',
'볼펜',
'샤펜',
'원자',
'우주',
'소립자',
'참기름',
'undefined',
'None',
'NAN',
'[object Object]'
]
ands = [
[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.")