summaryrefslogtreecommitdiff
path: root/ATRI/plugins/chat/__init__.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
committerKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
commit3e32ca3964ff8f40e0b491e87f153040f2348fd0 (patch)
treed04d19ba5a25f6f1f6a9c4f8c398d49eb252df3c /ATRI/plugins/chat/__init__.py
parentf5a020d45f7294214bbcd488955b9c391d651a6d (diff)
downloadATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.gz
ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.bz2
ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.zip
🔖 更新版本:
更新记录请参考文档: atri.kyomotoi.moe/changelog/overview/
Diffstat (limited to 'ATRI/plugins/chat/__init__.py')
-rw-r--r--ATRI/plugins/chat/__init__.py58
1 files changed, 14 insertions, 44 deletions
diff --git a/ATRI/plugins/chat/__init__.py b/ATRI/plugins/chat/__init__.py
index f401f3f..217c71e 100644
--- a/ATRI/plugins/chat/__init__.py
+++ b/ATRI/plugins/chat/__init__.py
@@ -1,9 +1,9 @@
from random import choice
-from nonebot.typing import T_State
-from nonebot.adapters.cqhttp import Bot, MessageEvent
+from nonebot.matcher import Matcher
+from nonebot.params import ArgPlainText, CommandArg
+from nonebot.adapters.onebot.v11 import Bot, MessageEvent, Message
-from ATRI.utils import CoolqCodeChecker
from ATRI.utils.limit import FreqLimiter
from ATRI.utils.apscheduler import scheduler
from .data_source import Chat
@@ -17,7 +17,6 @@ chat = Chat().on_message("文爱", "闲聊(文爱")
@chat.handle()
async def _chat(bot: Bot, event: MessageEvent):
- print(1)
user_id = event.get_user_id()
if not _chat_flmt.check(user_id):
await chat.finish(_chat_flmt_notice)
@@ -34,33 +33,20 @@ async def _chat(bot: Bot, event: MessageEvent):
my_name_is = Chat().on_command("叫我", "更改闲聊(文爱)时的称呼", aliases={"我是"}, priority=1)
-@my_name_is.args_parser # type: ignore
-async def _get_name(bot: Bot, event: MessageEvent, state: T_State):
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await my_name_is.finish("好吧...")
- if not msg:
- await my_name_is.reject("欧尼酱想让咱如何称呼呢!0w0")
- else:
- state["name"] = msg
-
-
@my_name_is.handle()
-async def _name(bot: Bot, event: MessageEvent, state: T_State):
+async def _name(matcher: Matcher, event: MessageEvent, args: Message = CommandArg()):
user_id = event.get_user_id()
if not _chat_flmt.check(user_id):
await my_name_is.finish(_chat_flmt_notice)
- msg = str(event.message).strip()
+ msg = args.extract_plain_text()
if msg:
- state["name"] = msg
+ matcher.set_arg("name", args)
@my_name_is.got("name", "欧尼酱想让咱如何称呼呢!0w0")
-async def _deal_name(bot: Bot, event: MessageEvent, state: T_State):
+async def _deal_name(event: MessageEvent, new_name: str = ArgPlainText("name")):
user_id = event.get_user_id()
- new_name = state["name"]
repo = choice(
[
f"好~w 那咱以后就称呼你为{new_name}!",
@@ -77,37 +63,21 @@ async def _deal_name(bot: Bot, event: MessageEvent, state: T_State):
say = Chat().on_command("说", "别人让我说啥就说啥(", priority=1)
[email protected]_parser # type: ignore
-async def _get_say(bot: Bot, event: MessageEvent, state: T_State):
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了"]
- if msg in quit_list:
- await say.finish("好吧...")
- if not msg:
- await say.reject("阿!要咱说啥呢...")
- else:
- state["say"] = msg
-
-
@say.handle()
-async def _ready_say(bot: Bot, event: MessageEvent, state: T_State):
+async def _ready_say(
+ matcher: Matcher, event: MessageEvent, args: Message = CommandArg()
+):
user_id = event.get_user_id()
if not _chat_flmt.check(user_id):
await say.finish(_chat_flmt_notice)
- msg = str(event.message)
+ msg = args.extract_plain_text()
if msg:
- state["say"] = msg
-
+ matcher.set_arg("say", args)
-async def _deal_say(bot: Bot, event: MessageEvent, state: T_State):
- msg = state["say"]
- check = CoolqCodeChecker(msg).check
- if not check:
- repo = choice(["不要...", "这个咱不想复读!", "不可以", "不好!"])
- await say.finish(repo)
[email protected]("say", "想要咱复读啥呢...")
+async def _deal_say(event: MessageEvent, msg: str = ArgPlainText("say")):
user_id = event.get_user_id()
_chat_flmt.start_cd(user_id)
await say.finish(msg)