feat: 更新配置和功能,修复B站解析问题
- 将WebSocket地址改为本地127.0.0.1 - 修改命令前缀为"/" - 延长B站视频解析时长限制至2小时 - 更新版本号至v1.0.1并生成变更日志 - 完全重写依赖项列表 - 新增HTML格式的变更日志页面
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
# NapCat WebSocket 配置
|
# NapCat WebSocket 配置
|
||||||
[napcat_ws]
|
[napcat_ws]
|
||||||
uri = "ws://114.66.61.199:3001"
|
uri = "ws://127.0.0.1:3001"
|
||||||
# WebSocket 连接地址
|
# WebSocket 连接地址
|
||||||
token = "KoIAF.mcEHzxrPYF"
|
token = "KoIAF.mcEHzxrPYF"
|
||||||
# 重连间隔(秒)
|
# 重连间隔(秒)
|
||||||
@@ -19,7 +19,7 @@ token = ""
|
|||||||
# Bot 基础配置
|
# Bot 基础配置
|
||||||
[bot]
|
[bot]
|
||||||
# 命令前缀列表
|
# 命令前缀列表
|
||||||
command = ["。"]
|
command = ["/"]
|
||||||
# 是否忽略自己的消息
|
# 是否忽略自己的消息
|
||||||
ignore_self_message = true
|
ignore_self_message = true
|
||||||
# 权限不足时的消息
|
# 权限不足时的消息
|
||||||
|
|||||||
@@ -199,8 +199,8 @@ class BiliParser(BaseParser):
|
|||||||
# 检查视频时长
|
# 检查视频时长
|
||||||
video_message: Union[str, MessageSegment]
|
video_message: Union[str, MessageSegment]
|
||||||
direct_url = None
|
direct_url = None
|
||||||
if data['duration'] > 1200: # 20分钟 = 1200秒
|
if data['duration'] > 7200: # 2小时 = 7200秒
|
||||||
video_message = "视频时长超过20分钟,不进行解析。"
|
video_message = "视频时长超过2小时,不进行解析。"
|
||||||
else:
|
else:
|
||||||
# 构建完整的B站视频URL
|
# 构建完整的B站视频URL
|
||||||
video_url = f"https://www.bilibili.com/video/{data.get('bvid', '')}"
|
video_url = f"https://www.bilibili.com/video/{data.get('bvid', '')}"
|
||||||
|
|||||||
161
requirements.txt
161
requirements.txt
@@ -1,74 +1,89 @@
|
|||||||
aiohappyeyeballs==2.6.1
|
aiocontextvars==0.2.2
|
||||||
aiohttp==3.13.3
|
aiodns==4.0.0
|
||||||
aiomysql==0.2.0
|
AppKit==0.2.8
|
||||||
aiosignal==1.4.0
|
argcomplete==3.6.3
|
||||||
annotated-types==0.7.0
|
asana_kazoo==2.0.8dev
|
||||||
anyio==4.12.1
|
BeautifulSoup==3.2.2
|
||||||
astroid==4.0.3
|
brotli==1.2.0
|
||||||
attrs==25.4.0
|
brotlicffi==1.2.0.0
|
||||||
beautifulsoup4==4.14.3
|
cchardet==2.1.7
|
||||||
bs4==0.0.2
|
|
||||||
cachetools==6.2.4
|
|
||||||
certifi==2026.1.4
|
|
||||||
cffi==2.0.0
|
cffi==2.0.0
|
||||||
charset-normalizer==3.4.4
|
chardet==6.0.0.post1
|
||||||
colorama==0.4.6
|
click==8.3.1
|
||||||
coverage==7.13.1
|
concurrencytest==0.1.4
|
||||||
cryptography==46.0.3
|
ConfigParser==7.2.0
|
||||||
dill==0.4.0
|
contextlib2==21.6.0
|
||||||
docker==7.1.0
|
curio==1.6
|
||||||
docopt==0.6.2
|
curl_cffi==0.14.0
|
||||||
frozenlist==1.8.0
|
Cython==3.2.4
|
||||||
greenlet==3.3.0
|
cython==3.2.4
|
||||||
h11==0.16.0
|
defusedxml==0.7.1
|
||||||
httpcore==1.0.9
|
Django==6.0.2
|
||||||
httpx==0.27.0
|
dl==0.1.0
|
||||||
idna==3.11
|
docutils==0.22.4
|
||||||
iniconfig==2.3.0
|
email_validator==2.3.0
|
||||||
isort==7.0.0
|
etcd3==0.12.0
|
||||||
Jinja2==3.1.6
|
eval_type_backport==0.3.1
|
||||||
librt==0.7.7
|
eventlet==0.40.4
|
||||||
loguru==0.7.3
|
exceptiongroup==1.3.1
|
||||||
MarkupSafe==3.0.3
|
fastapi==0.134.0
|
||||||
mccabe==0.7.0
|
filelock==3.24.3
|
||||||
multidict==6.7.0
|
flake8==7.3.0
|
||||||
mypy==1.19.1
|
gunicorn==25.1.0
|
||||||
mypy_extensions==1.1.0
|
h2==4.3.0
|
||||||
orjson==3.11.5
|
html5lib==1.1
|
||||||
packaging==25.0
|
HTMLParser==0.0.2
|
||||||
pathspec==1.0.3
|
hypothesis==6.151.9
|
||||||
pillow==12.1.0
|
importlib_resources==6.5.2
|
||||||
pipreqs==0.4.13
|
ini2toml==0.15
|
||||||
platformdirs==4.5.1
|
ipykernel==7.2.0
|
||||||
playwright==1.57.0
|
ipython==9.10.0
|
||||||
pluggy==1.6.0
|
ipywidgets==8.1.8
|
||||||
propcache==0.4.1
|
jnius==1.1.0
|
||||||
psutil==5.9.8
|
js==1.0
|
||||||
pycparser==2.23
|
keyring==25.7.0
|
||||||
pydantic==2.12.5
|
lxml_html_clean==0.4.4
|
||||||
pydantic_core==2.41.5
|
mask==1.0.0
|
||||||
pyee==13.0.0
|
matplotlib==3.10.8
|
||||||
Pygments==2.19.2
|
mod==0.3.0
|
||||||
pylint==4.0.4
|
multiprocess==0.70.19
|
||||||
pytest==9.0.2
|
nacl==0.0.0
|
||||||
pytest-asyncio==1.3.0
|
olefile==0.47
|
||||||
pytest-cov==7.0.0
|
outcome==1.3.0.post0
|
||||||
pytest-mock==3.15.1
|
ox_profile==0.2.14
|
||||||
redis==7.1.0
|
paramiko==4.0.0
|
||||||
requests==2.32.5
|
pexpect==4.9.0
|
||||||
setuptools==80.9.0
|
pip_api==0.0.34
|
||||||
sniffio==1.3.1
|
pkg1==0.0.3
|
||||||
soupsieve==2.8.1
|
pox==0.3.7
|
||||||
toml==0.10.2
|
protobuf==7.34.0
|
||||||
tomlkit==0.13.3
|
pudb==2025.1.5
|
||||||
types-cachetools==6.2.0.20251022
|
pybreaker==1.4.1
|
||||||
types-docker==7.1.0.20251202
|
pycryptodome_test_vectors==1.0.22
|
||||||
types-paramiko==4.0.0.20250822
|
pyenchant==3.3.0
|
||||||
types-requests==2.32.4.20260107
|
PyInstaller==6.19.0
|
||||||
typing-inspection==0.4.2
|
pymongo==4.16.0
|
||||||
typing_extensions==4.15.0
|
pyodide==0.0.2
|
||||||
urllib3==2.6.3
|
PyOpenGL==3.1.10
|
||||||
watchdog==6.0.0
|
pyOpenSSL==25.3.0
|
||||||
websockets==16.0
|
PyQt6==6.10.2
|
||||||
yarg==0.1.10
|
PySide6==6.10.2
|
||||||
yarl==1.22.0
|
python-dotenv==1.2.1
|
||||||
|
python_bcrypt==0.3.2
|
||||||
|
python_socks==2.8.1
|
||||||
|
pywin32==311
|
||||||
|
simplejson==3.20.2
|
||||||
|
socksio==1.0.0
|
||||||
|
speedups==1.4.0
|
||||||
|
Sphinx==9.1.0
|
||||||
|
sympy==1.14.0
|
||||||
|
trove_classifiers==2026.1.14.14
|
||||||
|
urllib3_secure_extra==0.1.0
|
||||||
|
uvloop==0.22.1
|
||||||
|
websocket_client==1.9.0
|
||||||
|
Werkzeug==3.1.6
|
||||||
|
winloop==0.5.0
|
||||||
|
wmi==1.5.1
|
||||||
|
xmlrpclib==1.0.1
|
||||||
|
xx==3.3.2
|
||||||
|
zope==5.13
|
||||||
|
|||||||
205
web_static/changelog.html
Normal file
205
web_static/changelog.html
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN" class="scroll-smooth">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>NEOBOT | Changelog</title>
|
||||||
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;500;700&family=Inter:wght@300;400;600&family=Noto+Serif+SC:wght@300;400;700&family=Cormorant+Garamond:ital,wght@0,400;1,400&display=swap" rel="stylesheet">
|
||||||
|
<script src="https://code.iconify.design/iconify-icon/1.0.7/iconify-icon.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
tailwind.config = {
|
||||||
|
theme: {
|
||||||
|
extend: {
|
||||||
|
fontFamily: {
|
||||||
|
sans: ['"Inter"', 'sans-serif'],
|
||||||
|
display: ['"Space Grotesk"', 'sans-serif'],
|
||||||
|
serif: ['"Noto Serif SC"', 'serif'],
|
||||||
|
lyric: ['"Cormorant Garamond"', 'serif'],
|
||||||
|
},
|
||||||
|
colors: {
|
||||||
|
brand: {
|
||||||
|
bg: '#050505',
|
||||||
|
surface: '#121212',
|
||||||
|
border: '#27272a',
|
||||||
|
text: '#e4e4e7',
|
||||||
|
muted: '#a1a1aa',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
animation: {
|
||||||
|
'fade-in-up': 'fadeInUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
||||||
|
'pulse-slow': 'pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
||||||
|
},
|
||||||
|
keyframes: {
|
||||||
|
fadeInUp: {
|
||||||
|
'0%': { opacity: '0', transform: 'translateY(20px)' },
|
||||||
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #050505;
|
||||||
|
color: #e4e4e7;
|
||||||
|
background-image: radial-gradient(circle at 50% 0%, #1a1a1a 0%, #050505 60%);
|
||||||
|
background-attachment: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.changelog-card {
|
||||||
|
background: rgba(18, 18, 18, 0.6);
|
||||||
|
backdrop-filter: blur(12px);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
border-radius: 8px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.changelog-card:hover {
|
||||||
|
border-color: rgba(255, 255, 255, 0.2);
|
||||||
|
background: rgba(30, 30, 30, 0.8);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lyric-text {
|
||||||
|
font-family: "Cormorant Garamond", serif;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Timeline line */
|
||||||
|
.timeline-line {
|
||||||
|
position: absolute;
|
||||||
|
left: 24px;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 1px;
|
||||||
|
background: linear-gradient(to bottom, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar { width: 6px; }
|
||||||
|
::-webkit-scrollbar-track { background: #050505; }
|
||||||
|
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body class="antialiased selection:bg-white/20 selection:text-white">
|
||||||
|
|
||||||
|
<!-- 导航 -->
|
||||||
|
<nav class="fixed top-0 w-full z-50 border-b border-white/5 bg-black/80 backdrop-blur-md">
|
||||||
|
<div class="max-w-6xl mx-auto px-6 h-20 flex items-center justify-between">
|
||||||
|
<div class="flex items-center gap-3">
|
||||||
|
<a href="../index.html" class="flex items-center gap-3 hover:opacity-80 transition-opacity">
|
||||||
|
<div class="w-2 h-2 bg-white rounded-full animate-pulse-slow"></div>
|
||||||
|
<span class="font-display font-bold text-sm tracking-widest text-white">NEO<span class="text-white/40 font-light">BOT</span></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-center gap-4 text-[10px] font-mono text-gray-400 uppercase tracking-widest">
|
||||||
|
<span class="px-2 py-1 rounded border border-white/10 bg-white/5">Changelog</span>
|
||||||
|
<span>Latest: v1.0.1</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<main class="pt-40 pb-32 px-6">
|
||||||
|
<div class="max-w-4xl mx-auto space-y-16">
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<section class="text-center space-y-4 animate-fade-in-up">
|
||||||
|
<div class="font-mono text-xs text-gray-500 mb-2">PROJECT HISTORY</div>
|
||||||
|
<h1 class="text-4xl md:text-6xl font-display font-bold text-white leading-tight">
|
||||||
|
System<br>
|
||||||
|
<span class="text-white/30">Evolution</span>
|
||||||
|
</h1>
|
||||||
|
<p class="font-serif text-lg text-gray-400 max-w-2xl mx-auto">
|
||||||
|
记录每一次微小的改变,见证成长的轨迹。
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Changelog Card -->
|
||||||
|
<section class="max-w-2xl mx-auto">
|
||||||
|
<div class="changelog-card p-8 md:p-10 relative overflow-hidden group">
|
||||||
|
<!-- Decorative background glow -->
|
||||||
|
<div class="absolute top-0 right-0 -mr-16 -mt-16 w-64 h-64 bg-white/5 rounded-full blur-3xl group-hover:bg-white/10 transition-colors duration-500"></div>
|
||||||
|
|
||||||
|
<!-- Version & Date -->
|
||||||
|
<div class="relative z-10 flex flex-col md:flex-row md:items-end justify-between gap-4 mb-8 border-b border-white/10 pb-6">
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-3 mb-2">
|
||||||
|
<h2 class="font-display text-4xl text-white font-bold">v1.0.1</h2>
|
||||||
|
<span class="px-2 py-0.5 rounded text-[10px] font-mono font-bold bg-white/10 text-white/60 border border-white/10">LATEST</span>
|
||||||
|
</div>
|
||||||
|
<div class="font-mono text-xs text-gray-500">2026-3-1</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="md:text-right max-w-xs">
|
||||||
|
<p class="font-serif text-sm text-gray-400 italic leading-relaxed">
|
||||||
|
"大fix"
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Changes List -->
|
||||||
|
<div class="relative z-10">
|
||||||
|
<ul class="space-y-4">
|
||||||
|
|
||||||
|
<li class="flex items-start gap-4 group/item">
|
||||||
|
|
||||||
|
<span class="flex-shrink-0 mt-1 px-2 py-1 rounded text-[10px] font-mono font-bold bg-green-500/10 text-green-400 border border-green-500/20 group-hover/item:bg-green-500/20 transition-colors">ADD</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="text-base text-gray-300 leading-relaxed group-hover/item:text-white transition-colors">镜像表情包支持GIf</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flex items-start gap-4 group/item">
|
||||||
|
|
||||||
|
<span class="flex-shrink-0 mt-1 px-2 py-1 rounded text-[10px] font-mono font-bold bg-blue-500/10 text-blue-400 border border-blue-500/20 group-hover/item:bg-blue-500/20 transition-colors">UPD</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="text-base text-gray-300 leading-relaxed group-hover/item:text-white transition-colors">优化了 Web Parser 的解析速度</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flex items-start gap-4 group/item">
|
||||||
|
|
||||||
|
<span class="flex-shrink-0 mt-1 px-2 py-1 rounded text-[10px] font-mono font-bold bg-red-500/10 text-red-400 border border-red-500/20 group-hover/item:bg-red-500/20 transition-colors">FIX</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="text-base text-gray-300 leading-relaxed group-hover/item:text-white transition-colors">修复了在某些特定网络环境下图片加载失败的问题,b站解析修复</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flex items-start gap-4 group/item">
|
||||||
|
|
||||||
|
<span class="flex-shrink-0 mt-1 px-2 py-1 rounded text-[10px] font-mono font-bold bg-blue-500/10 text-blue-400 border border-blue-500/20 group-hover/item:bg-blue-500/20 transition-colors">UPD</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="text-base text-gray-300 leading-relaxed group-hover/item:text-white transition-colors">支持多实现端连接(反向WS),此功能并不完善</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="py-12 border-t border-white/5 bg-black/20">
|
||||||
|
<div class="max-w-6xl mx-auto px-6 flex flex-col md:flex-row justify-between items-center gap-6">
|
||||||
|
<div class="text-center md:text-left">
|
||||||
|
<div class="font-display font-bold text-white mb-1">NEOBOT</div>
|
||||||
|
<p class="font-mono text-[10px] text-gray-600">
|
||||||
|
PRIVATE PERSONAL PROJECT<br>
|
||||||
|
GENERATED BY CHANGELOG TOOL
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="font-mono text-[10px] text-gray-600 text-center md:text-right">
|
||||||
|
TO ASTEROID B-612<br>
|
||||||
|
SASAKURE.UK
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -20,14 +20,14 @@ OUTPUT_FILE = "../changelog.html"
|
|||||||
# - content: 变更内容
|
# - content: 变更内容
|
||||||
changelogs = [
|
changelogs = [
|
||||||
{
|
{
|
||||||
"version": "v1.0.0",
|
"version": "v1.0.1",
|
||||||
"date": "2026-3-1",
|
"date": "2026-3-1",
|
||||||
"description": "引入了更多有趣的互动功能,并优化了系统稳定性。",
|
"description": "大fix",
|
||||||
"changes": [
|
"changes": [
|
||||||
{"type": "add", "content": "新增了天气查询功能,支持全国主要城市"},
|
{"type": "add", "content": "镜像表情包支持GIf"},
|
||||||
{"type": "update", "content": "优化了 Web Parser 的解析速度,不过b站的视频解析等待重做中"},
|
{"type": "update", "content": "优化了 Web Parser 的解析速度"},
|
||||||
{"type": "fix", "content": "修复了在某些特定网络环境下图片加载失败的问题"},
|
{"type": "fix", "content": "修复了在某些特定网络环境下图片加载失败的问题,b站解析修复"},
|
||||||
{"type": "update", "content": "支持多实现端连接(反向WS),此功能并不完善,等待重做"}
|
{"type": "update", "content": "支持多实现端连接(反向WS),此功能并不完善"}
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user