forked from capedayo/minya_hotomoe
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
|
import re
|
||
|
import asyncio
|
||
|
from module_interface import ModuleInterface
|
||
|
class Timer(ModuleInterface):
|
||
|
def __init__(self):
|
||
|
super().__init__()
|
||
|
self.name = "Timer"
|
||
|
self.regex_pattern = r"((.|\n)*)(타이머\s.*(맞춰줘|설정해줘))|.*(뒤에\s*알려줘)"
|
||
|
|
||
|
print("[Timer] Settable timer module, Timer V1 loaded.")
|
||
|
|
||
|
async def execute_module(self, ctx):
|
||
|
print(f"[Timer] Got Timer Related Message : {ctx.content}")
|
||
|
|
||
|
text = ctx.content
|
||
|
seconds_query = re.search(r'([0-9]+)초', text)
|
||
|
minutes_query = re.search(r'([0-9]+)분', text)
|
||
|
hours_query = re.search(r'([0-9]+)(시간)', text)
|
||
|
|
||
|
seconds = int(seconds_query.group(1)) if seconds_query else 0
|
||
|
minutes = int(minutes_query.group(1)) if minutes_query else 0
|
||
|
hours = int(hours_query.group(1)) if hours_query else 0
|
||
|
|
||
|
if ((seconds + minutes + hours) == 0):
|
||
|
await ctx.api.action.reply("올바른 값이 아니에요...")
|
||
|
|
||
|
time = (seconds) + (60 * minutes) + (60 * 60 * hours)
|
||
|
|
||
|
await ctx.api.action.reply("타이머를 설정할게요!")
|
||
|
await asyncio.sleep(int(time))
|
||
|
await ctx.api.action.reply("시간이 다 되었어요!")
|