This commit is contained in:
HibiKier 2022-02-20 11:06:04 +08:00
parent eaf6d54757
commit f038763041
11 changed files with 49 additions and 37 deletions

View File

@ -236,9 +236,15 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__
## 更新
### 2022/2/20 \[v0.1.3.1]
* 修复pix下载临时文件目录错误
* 修复AI天气发送图片ignore导致无法使用
* 修复纯文本被动技能提醒有时无法删除控制文本
### 2022/2/19 \[v0.1.3] (nonebot beta2)
* 由于nonebot升级版本提供更新建议
* 由于nonebot升级版本提供更新建议__该次升级将会导致nonebot.beta1以下的插件无法使用__
* 保证servicesutilsconfigspluginsbasic_plugins文件夹均为最新
* 根目录有pyproject.toml与poetry.lock
* 执行命令:
@ -248,6 +254,7 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__
* playwright install chromium
* python3 bot.py
* 适配nonebot.beta2
* 删除图片搜索 nonebot_plugin_picsearcher
* 新增图片搜索 search_image

View File

@ -1 +1 @@
__version__: v0.1.3
__version__: v0.1.3.1

View File

@ -11,7 +11,14 @@ async def handle_api_call(bot: Bot, api: str, data: Dict[str, Any]):
r = None
if (
(api == "send_msg" and data["message"] == "group_id" or api == "send_group_msg")
and (r := re.search("^\[\[_task\|(.*)]]", get_message_text(data["message"])))
and (
r := re.search(
"^\[\[_task\|(.*)]]",
data["message"]
if isinstance(data["message"], str)
else get_message_text(data["message"]),
)
)
and r.group(1) in group_manager.get_task_data().keys()
):
task = r.group(1)
@ -19,6 +26,11 @@ async def handle_api_call(bot: Bot, api: str, data: Dict[str, Any]):
if not await group_manager.check_group_task_status(group_id, task):
raise MockApiException(f"被动技能 {task} 处于关闭状态...")
else:
msg = str(data["message"][0])
msg = msg.replace(f"[[_task|{task}]]", "")
data["message"][0] = MessageSegment.text(msg)
if isinstance(data["message"], str):
msg = data["message"]
msg = msg.replace(f"[[_task|{task}]]", "")
data["message"] = msg
else:
msg = str(data["message"][0])
msg = msg.replace(f"[[_task|{task}]]", "")
data["message"][0] = MessageSegment.text(msg)

View File

@ -6,11 +6,10 @@ from nonebot.adapters.onebot.v11 import (
MessageEvent,
)
from nonebot.rule import to_me
from nonebot.params import CommandArg
from models.friend_user import FriendUser
from models.group_member_info import GroupInfoUser
from services.log import logger
from utils.utils import get_message_img
from utils.utils import get_message_img, get_message_text
from .data_source import get_chat_result, hello, no_result
from configs.config import NICKNAME, Config
@ -42,8 +41,8 @@ ai = on_message(rule=to_me(), priority=8)
@ai.handle()
async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()):
msg = arg.extract_plain_text().strip()
async def _(bot: Bot, event: MessageEvent):
msg = get_message_text(event.json())
img = get_message_img(event.json())
if "CQ:xml" in str(event.get_message()):
return

View File

@ -1,7 +1,7 @@
from httpx import AsyncClient
from datetime import datetime
from nonebot.log import logger
from nonebot.adapters.cqhttp import Bot
from nonebot.adapters.onebot.v11 import Bot
from configs.config import NICKNAME

View File

@ -1,13 +1,12 @@
from nonebot import on_message, on_regex
from configs.path_config import IMAGE_PATH
from utils.message_builder import image
from utils.utils import is_number
from utils.utils import is_number, get_message_text
from services.log import logger
from nonebot.adapters.onebot.v11 import MessageEvent, GroupMessageEvent, Message
from nonebot.adapters.onebot.v11 import MessageEvent, GroupMessageEvent
from utils.utils import FreqLimiter, cn2py
from configs.config import Config
from utils.manager import withdraw_message_manager
from nonebot.params import CommandArg
from .rule import rule
import random
import os
@ -58,8 +57,8 @@ _path = IMAGE_PATH / "image_management"
@send_img.handle()
async def _(event: MessageEvent, arg: Message = CommandArg()):
msg = arg.extract_plain_text().strip().split()
async def _(event: MessageEvent):
msg = get_message_text(event.json()).split()
gallery = msg[0]
if gallery not in Config.get_config("image_management", "IMAGE_DIR_LIST"):
return

View File

@ -227,8 +227,8 @@ async def _(event: MessageEvent):
# 重置开箱
@scheduler.scheduled_job(
"cron",
hour=0,
minute=1,
hour=10,
minute=22,
)
async def _():
await update_count_daily()

View File

@ -238,7 +238,7 @@ async def get_image(img_url: str, user_id: int) -> Optional[str]:
TEMP_PATH / f"pix_{user_id}_{img_url[-10:-4]}.jpg", "wb"
) as f:
await f.write(response.content)
return f"pix_{user_id}_{img_url[-10:-4]}.jpg"
return TEMP_PATH / f"pix_{user_id}_{img_url[-10:-4]}.jpg"
except TimeoutError:
logger.warning(f"PIX{img_url} 图片下载超时...")
pass

View File

@ -149,11 +149,11 @@ async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()):
f"title{title}\n"
f"author{author}\n"
f"PID{pid}\nUID{uid}\n"
f"{image(_img, 'temp')}"
f"{image(_img)}"
)
)
else:
msg_id = await pix.send(image(_img, 'temp'))
msg_id = await pix.send(image(_img))
logger.info(
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'})"
f" 查看PIX图库PID: {pid}"

View File

@ -1,10 +1,10 @@
from nonebot import on_regex
from .data_source import get_weather_of_city, get_city_list
from nonebot.adapters.onebot.v11 import MessageEvent, GroupMessageEvent, Message
from nonebot.adapters.onebot.v11 import MessageEvent, GroupMessageEvent
from jieba import posseg
from services.log import logger
from nonebot.params import CommandArg
import re
from nonebot.params import RegexGroup
from typing import Tuple, Any
__zx_plugin_name__ = "天气查询"
@ -27,19 +27,12 @@ __plugin_settings__ = {
}
weather = on_regex(r".{0,10}?的?天气.{0,10}", priority=5, block=True)
weather = on_regex(r".{0,10}?(.*)的?天气.*?.{0,10}", priority=5, block=True)
@weather.handle()
async def _(event: MessageEvent, arg: Message = CommandArg()):
msg = arg.extract_plain_text().strip()
msg1 = re.search(r".*?(.*)市?的?天气.*?", msg)
msg2 = re.search(r".*?天气(.*).*?", msg)
msg1 = msg1.group(1)
msg2 = msg2.group(1)
msg = msg1 if msg1 else msg2
if msg[-1] == "":
msg = msg[:-1]
async def _(event: MessageEvent, reg_group: Tuple[Any, ...] = RegexGroup()):
msg = reg_group[0]
if msg[-1] != "":
msg += ""
city = ""

View File

@ -7,8 +7,10 @@
"basic_plugins",
"configs/path_config.py",
"configs/utils",
"bot.py"
"bot.py",
"poetry.lock",
"pyproject.toml"
],
"add_file": ["poetry.lock", "pyproject.toml"],
"add_file": [],
"delete_file": []
}
}