From fb13f5e68b93249c618a6d45f98b0d3f64cc13f0 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 02:53:25 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=8E=A8=20refactor:=20remove=20comment?= =?UTF-8?q?ed=20out=20code=20(#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is recommended to remove any commented code in your codebase. Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> --- src/plugins/ncm/__init__.py | 5 ----- src/plugins/nonebot_plugin_addFriend/__init__.py | 10 ---------- src/plugins/nonebot_plugin_addFriend/configUtil.py | 2 -- src/plugins/nonebot_plugin_addFriend/utils.py | 4 ---- src/plugins/nonebot_plugin_heweather/weather_data.py | 4 ---- src/plugins/nonebot_plugin_setu_now/__init__.py | 2 -- src/plugins/nonebot_plugin_status/config.py | 6 ------ 7 files changed, 33 deletions(-) diff --git a/src/plugins/ncm/__init__.py b/src/plugins/ncm/__init__.py index 76b6744..5d015b7 100644 --- a/src/plugins/ncm/__init__.py +++ b/src/plugins/ncm/__init__.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- from pathlib import Path from typing import Tuple, Any, Union from nonebot import on_regex, on_command, on_message @@ -79,7 +77,6 @@ async def music_set_rule(event: Union[GroupMessageEvent, PrivateMessageEvent]) - async def music_reply_rule(event: Union[GroupMessageEvent, PrivateMessageEvent]): - # logger.info(event.get_plaintext()) return event.reply and event.get_plaintext().strip() == "下载" @@ -118,7 +115,6 @@ async def receive_song(bot: Bot, _id = await nncm.search_song(keyword=str(song), limit=1) message_id = await bot.send(event=event, message=Message(MessageSegment.music(type_="163", id_=_id))) nncm.get_song(message_id=message_id["message_id"], nid=_id) - # try: # except ActionFailed as e: # logger.error(e.info) @@ -145,7 +141,6 @@ async def music_list_receive(bot: Bot, event: Union[GroupMessageEvent, PrivateMe @music_reply.handle() async def music_reply_receive(bot: Bot, event: Union[GroupMessageEvent, PrivateMessageEvent]): - # logger.info(event.dict()["reply"]["message_id"]) nncm.get_session(bot, event) info = nncm.check_message() if info is None: diff --git a/src/plugins/nonebot_plugin_addFriend/__init__.py b/src/plugins/nonebot_plugin_addFriend/__init__.py index 23d723c..b3a9fe1 100644 --- a/src/plugins/nonebot_plugin_addFriend/__init__.py +++ b/src/plugins/nonebot_plugin_addFriend/__init__.py @@ -10,16 +10,10 @@ from nonebot.adapters import Message from .configUtil import check_dict_key_bot_id, config, requestorDict, configPath, requestorDictPath, writeData, blackLogPath, numDict, numDictPath from .utils import getReferIdList, sendMsg, getExist, parseMsg, isNormalAdd, writeLog, filterFriend, parseTime, writeTime -# try: -# scheduler = require('nonebot_plugin_apscheduler').scheduler -# except: -# import nonebot_plugin_apscheduler -# scheduler = nonebot_plugin_apscheduler.scheduler # 初始化完毕,num文件单独初始化 parseRequest = on_request(priority=1, block=True) -# @event_preprocessor @parseRequest.handle() @@ -57,7 +51,6 @@ async def _(bot: Bot, event: RequestEvent): return else: return - # num,now,old=read_data(numPath,autoType) agreeAutoApprove, status = isNormalAdd( config[bot.self_id], autoType, addInfo, agreeAutoApprove) # 正常添加判断,过滤无意义添加,类似xx通知群 if agreeAutoApprove == -1: # 黑名单结果 @@ -285,7 +278,6 @@ async def _(bot: Bot, event: MessageEvent, args: Message = CommandArg()): welcome_msg = config[bot.self_id][msgType]['welcome_msg'] await bot.send_private_msg(user_id=requestorId, message=welcome_msg) -# @scheduler.scheduled_job('interval', hour=1, id='check_outdate', timezone="Asia/Shanghai") delRequestorDict = on_command( "清理请求表", priority=5, block=True, permission=SUPERUSER) @@ -317,7 +309,6 @@ async def check_outdate(bot: Bot, event: MessageEvent): @reFriendReqNum.handle() async def _(bot: Bot, event: MessageEvent, args: Message = CommandArg()): check_dict_key_bot_id(config, requestorDict, numDict, bot) - # text=event.get_plaintext().strip() argsText = args.extract_plain_text().strip() if '群聊' in argsText: argsText = argsText.replace('群聊', '').strip() @@ -329,7 +320,6 @@ async def _(bot: Bot, event: MessageEvent, args: Message = CommandArg()): autoType = 'all' max = config[bot.self_id]['numControl'][autoType]['maxNum'] now = datetime.now() - # num,now,old=read_data(numPath) if parseTime(config[bot.self_id]['numControl'][autoType], numDict[bot.self_id][autoType], now) != -1: await reFriendReqNum.send(message='未增满{}人,人数为{}上次添加时间{}'.format(max, numDict[bot.self_id][autoType]['count'], now)) argsText = argsText.replace('为', '').strip() diff --git a/src/plugins/nonebot_plugin_addFriend/configUtil.py b/src/plugins/nonebot_plugin_addFriend/configUtil.py index 2921042..ed464be 100644 --- a/src/plugins/nonebot_plugin_addFriend/configUtil.py +++ b/src/plugins/nonebot_plugin_addFriend/configUtil.py @@ -7,7 +7,6 @@ from .utils import writeTime basedir = dirname(__file__) -# numDictPath=basedir+'/num.txt' configPath = f"{basedir}/config.json" requestorDictPath = f"{basedir}/requestor.json" numDictPath = f"{basedir}/num.json" @@ -47,7 +46,6 @@ def writeData(path, content): json.dump(content, fp, ensure_ascii=False) -# if not exists(configPath): recipientList = list(get_driver().config.superusers) # recipients=str(recipients)[1:-1].replace(' ','').replace("'",'') # 可以在这里修改默认模板哦 diff --git a/src/plugins/nonebot_plugin_addFriend/utils.py b/src/plugins/nonebot_plugin_addFriend/utils.py index 9030e32..b18e230 100644 --- a/src/plugins/nonebot_plugin_addFriend/utils.py +++ b/src/plugins/nonebot_plugin_addFriend/utils.py @@ -4,7 +4,6 @@ import datetime -# from nonebot_plugin_txt2img import Txt2Img def filterFriend(comment, type, allowTextList): if type != 'friend': return True @@ -60,7 +59,6 @@ def getExist(plainCommandtext: str, wholeMessageText: str, argsText: str): return commandText if not plainCommandtext else plainCommandtext in commandText -# def read_time(numPath:str)->dict: def readTime(numDict: dict) -> dict: '''读时间''' # global num,now,old @@ -80,7 +78,6 @@ def readTime(numDict: dict) -> dict: for type in numDict[id].keys(): numDict[id][type]["time"] = datetime.datetime.strptime( numDict[id][type]["time"], "%Y-%m-%d %H:%M:%S.%f") - # now = datetime.datetime.now() return numDict @@ -92,7 +89,6 @@ def writeTime(numDictPath, numDict: dict) -> dict: numDictTemp[id][type]["time"] = str(numDictTemp[id][type]["time"]) with open(numDictPath, 'w', encoding='utf-8') as fp: json.dump(numDictTemp, fp, ensure_ascii=False) - # now = datetime.datetime.now() return numDictTemp diff --git a/src/plugins/nonebot_plugin_heweather/weather_data.py b/src/plugins/nonebot_plugin_heweather/weather_data.py index a29614a..01c0c18 100644 --- a/src/plugins/nonebot_plugin_heweather/weather_data.py +++ b/src/plugins/nonebot_plugin_heweather/weather_data.py @@ -53,10 +53,6 @@ def __init__(self, city_name: str, api_key: str, api_type: Union[int, str] = 0): self.api_type = int(api_type) self.__url__() - # self.now: Optional[Dict[str, str]] = None - # self.daily = None - # self.air = None - # self.warning = None self.__reference = "\n请参考: https://dev.qweather.com/docs/start/status-code/" async def load_data(self): diff --git a/src/plugins/nonebot_plugin_setu_now/__init__.py b/src/plugins/nonebot_plugin_setu_now/__init__.py index 264470b..43c7b42 100755 --- a/src/plugins/nonebot_plugin_setu_now/__init__.py +++ b/src/plugins/nonebot_plugin_setu_now/__init__.py @@ -156,8 +156,6 @@ async def nb_send_handler(setu: Setu) -> None: if r18 and process_func == EFFECT_FUNC_LIST[0]: # R18禁止使用默认图像处理方法(do_nothing) continue - # if process_func == EFFECT_FUNC_LIST[0]: - # continue logger.debug(f"Using effect {process_func}") effert_timer = PerfTimer.start("Effect process") try: diff --git a/src/plugins/nonebot_plugin_status/config.py b/src/plugins/nonebot_plugin_status/config.py index fe70b9f..7e24ac0 100644 --- a/src/plugins/nonebot_plugin_status/config.py +++ b/src/plugins/nonebot_plugin_status/config.py @@ -15,12 +15,6 @@ CPU_TEMPLATE = r"CPU: {{ '%02d' % cpu_usage }}%" """Default CPU status template.""" -# PER_CPU_TEMPLATE = ( -# "CPU:\n" -# "{%- for core in per_cpu_usage %}\n" -# " core{{ loop.index }}: {{ '%02d' % core }}%\n" -# "{%- endfor %}" -# ) MEMORY_TEMPLATE = r"Memory: {{ '%02d' % memory_usage.percent }}%" """Default memory status template.""" From 209f21f2caf21e4629d9057294ee96708138213f Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 02:54:50 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=8E=A8=20refactor:=20put=20docstring?= =?UTF-8?q?=20into=20a=20single=20line=20(#20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a docstring fits in a single line (72 characters according to PEP8), it is recommended to have the quotes on the same line. Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> --- .../nonebot_plugin_charpic/data_source.py | 4 +--- src/plugins/nonebot_plugin_wordcloud/__init__.py | 3 +-- src/plugins/today_yunshi/__init__.py | 4 +--- src/plugins/waifu/__init__.py | 8 ++------ src/plugins/waifu/utils.py | 16 ++++------------ 5 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/plugins/nonebot_plugin_charpic/data_source.py b/src/plugins/nonebot_plugin_charpic/data_source.py index be0b25e..2e9a097 100644 --- a/src/plugins/nonebot_plugin_charpic/data_source.py +++ b/src/plugins/nonebot_plugin_charpic/data_source.py @@ -53,9 +53,7 @@ async def text2img(text: str): async def char_gif(gif: Image.Image): - """ - 合成 gif 字符画 - """ + """合成 gif 字符画""" frame_list: List[str] = [] with contextlib.suppress(EOFError): while True: diff --git a/src/plugins/nonebot_plugin_wordcloud/__init__.py b/src/plugins/nonebot_plugin_wordcloud/__init__.py index fe4cd2a..e08a799 100644 --- a/src/plugins/nonebot_plugin_wordcloud/__init__.py +++ b/src/plugins/nonebot_plugin_wordcloud/__init__.py @@ -1,5 +1,4 @@ -""" 词云 -""" +"""词云""" from .utils import ( admin_permission, ensure_group, diff --git a/src/plugins/today_yunshi/__init__.py b/src/plugins/today_yunshi/__init__.py index e2855e8..6b431f1 100644 --- a/src/plugins/today_yunshi/__init__.py +++ b/src/plugins/today_yunshi/__init__.py @@ -1,6 +1,4 @@ -""" -这是一个今日运势插件,可以查看今日运势。 -""" +"""这是一个今日运势插件,可以查看今日运势。""" import time import random diff --git a/src/plugins/waifu/__init__.py b/src/plugins/waifu/__init__.py index 195a925..2528ff0 100644 --- a/src/plugins/waifu/__init__.py +++ b/src/plugins/waifu/__init__.py @@ -97,9 +97,7 @@ async def reset_record(): async def waifu_rule(bot: Bot, event: GroupMessageEvent, state: T_State) -> bool: - """ - 规则:娶群友 - """ + """规则:娶群友""" msg = event.message.extract_plain_text() if not msg.startswith("娶群友"): return False @@ -389,9 +387,7 @@ async def _(bot: Bot, event: GroupMessageEvent): # 透群友 async def yinpa_rule(bot: Bot, event: GroupMessageEvent, state: T_State) -> bool: - """ - 规则:透群友 - """ + """规则:透群友""" msg = event.message.extract_plain_text() if not msg.startswith("透群友"): return False diff --git a/src/plugins/waifu/utils.py b/src/plugins/waifu/utils.py index 3a6daad..7e50321 100644 --- a/src/plugins/waifu/utils.py +++ b/src/plugins/waifu/utils.py @@ -34,9 +34,7 @@ async def download_user_img(user_id: int): async def user_img(user_id: int) -> bytes: - """ - 获取用户头像url - """ + """获取用户头像url""" url = f"https://q1.qlogo.cn/g?b=qq&nk={user_id}&s=640" data = await download_url(url) if hashlib.md5(data).hexdigest() == "acef72340ac0e914090bd35799f5594e": @@ -45,9 +43,7 @@ async def user_img(user_id: int) -> bytes: def text_to_png(msg): - """ - 文字转png - """ + """文字转png""" output = io.BytesIO() Text2Image.from_text(msg, 50, spacing=10).to_image("white", (20, 20)).save( output, format="png" @@ -56,9 +52,7 @@ def text_to_png(msg): def bbcode_to_png(msg, spacing: int = 10): - """ - bbcode文字转png - """ + """bbcode文字转png""" output = io.BytesIO() Text2Image.from_bbcode_text(msg, 50, spacing=spacing).to_image( "white", (20, 20) @@ -67,7 +61,5 @@ def bbcode_to_png(msg, spacing: int = 10): def get_message_at(message: Message) -> list: - """ - 获取at列表 - """ + """获取at列表""" return [int(msg.data["qq"]) for msg in message if msg.type == "at"] From 625d1bbf58321af1f928b5610abcd9ac45999dfa Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 02:56:59 +0800 Subject: [PATCH 3/4] refactor: fix dangerous default argument (#22) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Do not use a mutable like `list` or `dictionary` as a default value to an argument. Python’s default arguments are evaluated once when the function is defined. Using a mutable default argument and mutating it will mutate that object for all future calls to the function as well. Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> --- src/plugins/nonebot_plugin_addFriend/configUtil.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/nonebot_plugin_addFriend/configUtil.py b/src/plugins/nonebot_plugin_addFriend/configUtil.py index ed464be..14798d8 100644 --- a/src/plugins/nonebot_plugin_addFriend/configUtil.py +++ b/src/plugins/nonebot_plugin_addFriend/configUtil.py @@ -32,7 +32,9 @@ def check_dict_key_bot_id(config: dict, requestorDict: dict, numDict: dict, bot: # return True -def readData(path, content={}, update=0) -> dict: +def readData(path, content=None, update=0) -> dict: + if content is None: + content = {} if not exists(path): with open(path, "w", encoding="utf-8") as fp: json.dump(content, fp, ensure_ascii=False) From 7eef897d2cb8e7e33116900309701bbb52184c62 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 02:59:08 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=8E=A8refactor:=20group=20imports=20f?= =?UTF-8?q?rom=20same=20package=20(#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Imports for the same package are scattered and not grouped together. It is recommended to keep the imports from the same package together. It makes the code easier to read. Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> --- src/plugins/cave/__init__.py | 17 +++++--------- src/plugins/ncm/data_source.py | 13 ++--------- .../nonebot_plugin_setu_now/__init__.py | 22 +++++-------------- src/plugins/nonebot_plugin_status/__init__.py | 2 +- .../nonebot_plugin_wordcloud/__init__.py | 3 +-- 5 files changed, 15 insertions(+), 42 deletions(-) diff --git a/src/plugins/cave/__init__.py b/src/plugins/cave/__init__.py index 9613cbb..9e0b47c 100644 --- a/src/plugins/cave/__init__.py +++ b/src/plugins/cave/__init__.py @@ -1,19 +1,12 @@ import random import re import base64 -from nonebot import logger +from nonebot import get_driver, logger, on_command import requests -from nonebot.adapters.onebot.v11 import ( - Message, - Bot, - GroupMessageEvent, - PrivateMessageEvent, - MessageEvent, -) -from nonebot import on_command, get_driver -from nonebot.plugin import PluginMetadata -from nonebot.matcher import Matcher -from nonebot.params import CommandArg +from nonebot.adapters.onebot.v11 import Bot, Bot, GroupMessageEvent, GroupMessageEvent, Message, Message, MessageEvent, MessageEvent, PrivateMessageEvent, PrivateMessageEvent +from nonebot.plugin import PluginMetadata, PluginMetadata +from nonebot.matcher import Matcher, Matcher +from nonebot.params import CommandArg, CommandArg from .models import cave_models SUPERUSER = list(get_driver().config.superusers) diff --git a/src/plugins/ncm/data_source.py b/src/plugins/ncm/data_source.py index 5377a50..afa6f4f 100644 --- a/src/plugins/ncm/data_source.py +++ b/src/plugins/ncm/data_source.py @@ -13,6 +13,8 @@ import httpx import nonebot from nonebot.utils import run_sync +from nonebot.adapters.onebot.v11 import MessageSegment, Message, ActionFailed, NetworkError, Bot, GroupMessageEvent, PrivateMessageEvent +from nonebot.log import logger from pyncm import ( apis, @@ -23,17 +25,6 @@ ) from pyncm.apis.cloudsearch import SONG, USER, PLAYLIST -from nonebot.log import logger -from nonebot.adapters.onebot.v11 import ( - MessageSegment, - Message, - ActionFailed, - NetworkError, - Bot, - GroupMessageEvent, - PrivateMessageEvent, -) - from .config import ncm_config from tinydb import TinyDB, Query diff --git a/src/plugins/nonebot_plugin_setu_now/__init__.py b/src/plugins/nonebot_plugin_setu_now/__init__.py index 43c7b42..3db0d14 100755 --- a/src/plugins/nonebot_plugin_setu_now/__init__.py +++ b/src/plugins/nonebot_plugin_setu_now/__init__.py @@ -1,5 +1,11 @@ from nonebot.adapters.onebot.v11.permission import GROUP_ADMIN from nonebot.permission import SUPERUSER +from nonebot import on_command, on_regex, require +from nonebot.adapters.onebot.v11 import GROUP, PRIVATE_FRIEND, Bot, Message, MessageEvent, MessageSegment, GroupMessageEvent, PrivateMessageEvent +from nonebot.exception import ActionFailed +from nonebot.log import logger +from nonebot.params import Depends, RegexGroup +from nonebot.plugin import PluginMetadata from .r18_whitelist import get_group_white_list_record from .data_source import SetuHandler from .perf_timer import PerfTimer @@ -20,27 +26,11 @@ autorevoke_send, ) from nonebot_plugin_tortoise_orm import add_model -from nonebot.adapters.onebot.v11 import ( - GROUP, - PRIVATE_FRIEND, - Bot, - Message, - MessageEvent, - MessageSegment, - GroupMessageEvent, - PrivateMessageEvent, -) -from nonebot.exception import ActionFailed -from nonebot.plugin import PluginMetadata -from nonebot.params import Depends, RegexGroup -from nonebot.log import logger -from nonebot import on_regex, on_command from PIL import UnidentifiedImageError from pathlib import Path from typing import Any, Union, Annotated from re import I, sub import asyncio -from nonebot import require require("nonebot_plugin_localstore") require("nonebot_plugin_tortoise_orm") diff --git a/src/plugins/nonebot_plugin_status/__init__.py b/src/plugins/nonebot_plugin_status/__init__.py index afff88b..72c9337 100644 --- a/src/plugins/nonebot_plugin_status/__init__.py +++ b/src/plugins/nonebot_plugin_status/__init__.py @@ -14,11 +14,11 @@ from typing import Any, Dict from jinja2 import Environment +from jinja2.meta import find_undeclared_variables from nonebot import get_driver from nonebot.matcher import Matcher from nonebot.permission import SUPERUSER from nonebot.plugin import PluginMetadata -from jinja2.meta import find_undeclared_variables from .config import Config from .helpers import humanize_date, relative_time, humanize_delta diff --git a/src/plugins/nonebot_plugin_wordcloud/__init__.py b/src/plugins/nonebot_plugin_wordcloud/__init__.py index e08a799..4d13e61 100644 --- a/src/plugins/nonebot_plugin_wordcloud/__init__.py +++ b/src/plugins/nonebot_plugin_wordcloud/__init__.py @@ -32,7 +32,7 @@ from nonebot.permission import SUPERUSER from nonebot.params import Arg, Depends from nonebot.adapters import Bot, Event, Message -from nonebot import get_driver +from nonebot import get_driver, require from arclet.alconna.arparma import Arparma from arclet.alconna import ArparmaBehavior import nonebot_plugin_saa as saa @@ -41,7 +41,6 @@ from io import BytesIO from datetime import datetime, timedelta import re -from nonebot import require require("nonebot_plugin_apscheduler") require("nonebot_plugin_alconna")