fit nonebot.beta2

This commit is contained in:
HibiKier
2022-02-19 18:20:19 +08:00
parent ab443a21ec
commit 7dd68cf1ef
212 changed files with 6857 additions and 5615 deletions
@@ -1,4 +1,4 @@
from nonebot.adapters.cqhttp import Bot, GroupMessageEvent, Event
from nonebot.adapters.onebot.v11 import Bot, GroupMessageEvent, Event
from utils.utils import get_message_text
from nonebot.typing import T_State
from .model import WordBank
+5 -10
View File
@@ -1,21 +1,16 @@
from utils.utils import get_message_text
from utils.message_builder import image, at
from .rule import check
from ._rule import check
from .model import WordBank
from configs.path_config import DATA_PATH
from pathlib import Path
from nonebot.adapters.cqhttp import (
Bot,
GroupMessageEvent,
)
from nonebot.typing import T_State
from nonebot.adapters.onebot.v11 import GroupMessageEvent
from utils.utils import get_message_text
from nonebot import on_message
__zx_plugin_name__ = "词库问答回复操作 [Hidden]"
data_dir = Path(DATA_PATH) / "word_bank"
data_dir = DATA_PATH / "word_bank"
data_dir.mkdir(parents=True, exist_ok=True)
@@ -23,7 +18,7 @@ message_handle = on_message(priority=5, block=True, rule=check)
@message_handle.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
async def _(event: GroupMessageEvent):
path = data_dir / f"{event.group_id}"
q = await WordBank.check(
event.group_id, get_message_text(event.json()), event.is_tome()
+1 -1
View File
@@ -181,7 +181,7 @@ class WordBank(db.Model):
elif type_ == "delete":
q = await q.with_for_update().gino.all()
if q:
path = Path(DATA_PATH) / "word_bank" / f"{group_id}"
path = DATA_PATH / "word_bank" / f"{group_id}"
if index is not None:
_q = [x.problem for x in q]
_q.sort()
+22 -15
View File
@@ -1,20 +1,22 @@
from utils.utils import get_message_at, is_number, get_message_img, get_message_text
from utils.utils import get_message_at, is_number, get_message_img
from nonebot.params import CommandArg
from services.log import logger
from configs.path_config import DATA_PATH
from utils.http_utils import AsyncHttpx
from .data_source import WordBankBuilder
from ._data_source import WordBankBuilder
from configs.config import Config
from utils.message_builder import image
from utils.image_utils import text2image
from .model import WordBank
from nonebot.adapters.cqhttp import (
from nonebot.adapters.onebot.v11 import (
Bot,
GroupMessageEvent,
Message
)
from pathlib import Path
from nonebot.typing import T_State
from nonebot import on_command
import random
import os
import re
__zx_plugin_name__ = "词库问答 [Admin]"
@@ -47,7 +49,7 @@ __plugin_settings__ = {
"cmd": ["词库问答", "添加词条", "删除词条", "查看词条"],
}
data_dir = Path(DATA_PATH) / "word_bank"
data_dir = DATA_PATH / "word_bank"
data_dir.mkdir(parents=True, exist_ok=True)
@@ -59,8 +61,8 @@ show_word = on_command("显示词条", aliases={"查看词条"}, priority=5, blo
@add_word.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
msg = str(event.get_message()).strip()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State, arg: Message = CommandArg()):
msg = str(arg)
r = re.search(r"^问(.+)\s?答([\s\S]*)", msg)
if not r:
await add_word.finish("未检测到词条问题...")
@@ -72,11 +74,12 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
await add_word.finish("未检测到词条回答...")
idx = 0
for n in bot.config.nickname:
if problem.startswith(n):
if n and problem.startswith(n):
_problem = f"[_to_me|{n}]" + problem[len(n) :]
break
else:
_problem = problem
(data_dir / f"{event.group_id}").mkdir(exist_ok=True, parents=True)
_builder = WordBankBuilder(event.user_id, event.group_id, _problem)
for at_ in get_message_at(event.json()):
r = re.search(rf"\[CQ:at,qq={at_}]", answer)
@@ -88,7 +91,11 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
_x = img.split("?")[0]
r = re.search(rf"\[CQ:image,file=(.*),url={_x}.*?]", answer)
if r:
rand = random.randint(1, 10000) + random.randint(1, 14514)
rand = random.randint(1, 10000) + random.randint(1, 114514)
for _ in range(10):
if f"__placeholder_{rand}_{idx}.jpg" not in os.listdir(data_dir / f"{event.group_id}"):
break
rand = random.randint(1, 10000) + random.randint(1, 114514)
for i in range(3):
answer = answer.replace(f",subType={i}", "")
answer = answer.replace(
@@ -107,8 +114,8 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
@delete_word.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
msg = get_message_text(event.json())
async def _(event: GroupMessageEvent, arg: Message = CommandArg()):
msg = arg.extract_plain_text().strip()
if not msg:
await delete_word.finish("此命令之后需要跟随指定词条,通过“显示词条“查看")
index = None
@@ -142,8 +149,8 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
@show_word.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
msg = get_message_text(event.json())
async def _(event: GroupMessageEvent, arg: Message = CommandArg()):
msg = arg.extract_plain_text().strip()
if not msg:
_problem_list = await WordBank.get_group_all_problem(event.group_id)
if not _problem_list:
@@ -151,11 +158,11 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
_problem_list = [f"\t{i}. {x}" for i, x in enumerate(_problem_list)]
await show_word.send(
image(
b64=await text2image(
b64=(await text2image(
"该群已收录的词条:\n\n" + "\n".join(_problem_list),
padding=10,
color="#f9f6f2",
)
)).pic2bs4()
)
)
else: