summaryrefslogtreecommitdiff
path: root/ATRI/plugins/kimo/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/kimo/__init__.py')
-rw-r--r--ATRI/plugins/kimo/__init__.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/ATRI/plugins/kimo/__init__.py b/ATRI/plugins/kimo/__init__.py
new file mode 100644
index 0000000..b1c5698
--- /dev/null
+++ b/ATRI/plugins/kimo/__init__.py
@@ -0,0 +1,59 @@
+from random import choice
+
+from nonebot.matcher import Matcher
+from nonebot.params import ArgPlainText, CommandArg
+from nonebot.adapters.onebot.v11 import MessageEvent, Message
+from nonebot.adapters.onebot.v11.helpers import Cooldown
+
+from ATRI.utils.apscheduler import scheduler
+from .data_source import Kimo
+
+
+_chat_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~", "我开始为你以后的伴侣担心了..."])
+
+
+kimo = Kimo().on_message("文爱", "闲聊(文爱")
+
+
[email protected]([Cooldown(3, prompt=_chat_flmt_notice)])
+async def _chat(event: MessageEvent):
+ user_id = event.get_user_id()
+ msg = str(event.message)
+ repo = await Kimo().deal(msg, user_id)
+ try:
+ await kimo.finish(repo)
+ except Exception:
+ return
+
+
+my_name_is = Kimo().on_command("叫我", "更改kimo时的称呼", aliases={"我是"}, priority=1)
+
+
+@my_name_is.handle([Cooldown(3, prompt=_chat_flmt_notice)])
+async def _name(matcher: Matcher, args: Message = CommandArg()):
+ msg = args.extract_plain_text()
+ if msg:
+ matcher.set_arg("name", args)
+
+
+@my_name_is.got("name", "欧尼酱想让咱如何称呼呢!0w0")
+async def _deal_name(event: MessageEvent, new_name: str = ArgPlainText("name")):
+ user_id = event.get_user_id()
+ repo = choice(
+ [
+ f"好~w 那咱以后就称呼你为{new_name}!",
+ f"噢噢噢!原来你叫{new_name}阿~",
+ f"好欸!{new_name}ちゃん~~~",
+ "很不错的称呼呢w",
+ ]
+ )
+ Kimo().name_is(user_id, new_name)
+ await my_name_is.finish(repo)
+
+
[email protected]_job("interval", name="kimo词库检查更新", hours=3, misfire_grace_time=60) # type: ignore
+async def _check_kimo():
+ try:
+ await Kimo().update_data()
+ except BaseException:
+ pass