From ab1f3359689f35012ed0a412b9ef5c92be279ab9 Mon Sep 17 00:00:00 2001 From: grassblock Date: Wed, 13 Aug 2025 11:27:27 +0800 Subject: [PATCH 1/3] fix: actions is not replied in certain situations --- core/actions.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/actions.py b/core/actions.py index e4d5222..7b51114 100644 --- a/core/actions.py +++ b/core/actions.py @@ -1,3 +1,5 @@ +import string + from aiogram.types import Message from config import config @@ -9,10 +11,9 @@ async def handle_actions(message: Message) -> None: logging.debug(f"收到了命中 / 开头的的消息,但是 actions 功能未启用,跳过处理") return rawtext = message.text - logging.debug(f"收到了命中 / 开头的消息: {rawtext}") - logging.debug(rawtext.replace('/','')) - # 如果消息是 / 开头的,但是没有后续有意义的内容,则不处理 - if len(rawtext.replace('/','')) == 0 or not rawtext.replace('/','').isalpha(): + logging.debug(f"收到了命中 / 开头的消息") + # 如果消息是 / 开头的,但是后续没有有意义的内容,则不处理 + if len(rawtext.replace('/','')) == 0 or all(char in string.punctuation for char in rawtext.replace('/','')): return # 防止识别成命令而被误触发 import re From 9b8657fdd5277922033369582d27444c6c04abaa Mon Sep 17 00:00:00 2001 From: grassblock Date: Wed, 13 Aug 2025 11:32:55 +0800 Subject: [PATCH 2/3] feat: clean zhihu zhuanlan links --- core/link.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/link.py b/core/link.py index 0841b3c..335057c 100644 --- a/core/link.py +++ b/core/link.py @@ -13,7 +13,8 @@ from config import config whitelist_param_links = ['www.iesdouyin.com','item.taobao.com', 'detail.tmall.com', 'h5.m.goofish.com', 'music.163.com', 'www.bilibili.com', 'm.bilibili.com', 'bilibili.com', 'mall.bilibili.com', - 'space.bilibili.com', 'live.bilibili.com','item.m.jd.com','item.jd.com','www.xiaohongshu.com'] + 'space.bilibili.com', 'live.bilibili.com','item.m.jd.com','item.jd.com', + 'www.xiaohongshu.com','zhuanlan.zhihu.com'] has_self_redirection_links = ['www.cnbeta.com.tw','m.cnbeta.com.tw','www.landiannews.com', 'www.bilibili.com'] @@ -157,7 +158,7 @@ def reserve_whitelisted_params(url): new_query_params = {} cleaned_query = urlencode(new_query_params, doseq=True) return urlunparse(parsed_url._replace(query=cleaned_query)) - elif parsed_url.hostname in ['www.iesdouyin.com','www.bilibili.com','m.bilibili.com','bilibili.com','mall.bilibili.com','space.bilibili.com','live.bilibili.com','item.m.jd.com','item.jd.com','www.xiaohongshu.com']: + elif parsed_url.hostname in ['www.iesdouyin.com','www.bilibili.com','m.bilibili.com','bilibili.com','mall.bilibili.com','space.bilibili.com','live.bilibili.com','item.m.jd.com','item.jd.com','www.xiaohongshu.com', 'zhuanlan.zhihu.com']: # 不保留任何参数 new_query_params = {} if 'bilibili.com' in parsed_url.hostname and 'video' in parsed_url.path and query_params: From 4a508de083a724eba790a5fd7c9ca7b84d119fa8 Mon Sep 17 00:00:00 2001 From: grassblock Date: Wed, 13 Aug 2025 11:41:35 +0800 Subject: [PATCH 3/3] feat: change format of cleaned link message --- core/link.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/link.py b/core/link.py index 335057c..83e103b 100644 --- a/core/link.py +++ b/core/link.py @@ -250,7 +250,7 @@ async def handle_links(message: Message): final_urls = [url for url in final_urls if url is not None] # 回复处理后的链接 if final_urls: - await message.reply(f"{"\n".join(final_urls)}\n消息里有包含跟踪参数的链接,已经帮你转换了哦~\n\n" - f"这个功能是试验性的,可能会出现问题," - f"可以将返回的结果再次发送给bot,或者尝试手动清理。\n如果你找到了这个工具的问题,欢迎" - f"把它通过 `/report_broken_links 链接 需要去除的参数等等` 报告给开发者!") \ No newline at end of file + await message.reply(f"
\n{"\n\n".join(final_urls)}\n
\n消息里有包含跟踪参数的链接,已经帮你转换了哦~\n\n" + f"注意:这个功能是试验性的,可能会出现问题。" + f"\n如果你找到了问题,欢迎" + f"把它通过 /report_broken_links 链接 需要去除的参数等等 报告给开发者!") \ No newline at end of file