词条问题支持真寻的昵称开头与at真寻开头并优化回复

This commit is contained in:
HibiKier
2022-12-11 00:10:07 +08:00
parent f496ce4861
commit b59699dabe
7 changed files with 55 additions and 26 deletions
+9 -2
View File
@@ -4,14 +4,14 @@ from io import BytesIO
from services.log import logger
from nonebot.typing import T_State
from nonebot.adapters.onebot.v11 import MessageEvent
from nonebot.adapters.onebot.v11 import MessageEvent, Bot
from utils.utils import get_message_text, get_message_img, get_message_at
from ._model import WordBank
from utils.http_utils import AsyncHttpx
async def check(event: MessageEvent, state: T_State) -> bool:
async def check(bot: Bot, event: MessageEvent, state: T_State) -> bool:
text = get_message_text(event.message)
img = get_message_img(event.message)
at = get_message_at(event.message)
@@ -30,6 +30,13 @@ async def check(event: MessageEvent, state: T_State) -> bool:
elif seg.type == 'text':
temp += seg.data["text"]
problem = temp
if event.to_me and bot.config.nickname:
if str(event.original_message).startswith("[CQ:at"):
problem = f"[at:{bot.self_id}]" + problem
else:
if problem and bot.config.nickname:
nickname = [nk for nk in bot.config.nickname if str(event.original_message).startswith(nk)]
problem = nickname[0] + problem if nickname else problem
if problem and (await WordBank.check(event, problem) is not None):
state["problem"] = problem
return True