* 添加测试插件 * ✨ feat(auth): 添加缓存机制以优化用户和插件数据查询性能 * 🗑️ chore(help): 删除笨蛋检测插件代码 * ✨ feat(bot): 添加对扩展插件的加载支持 * ✨ feat(auth): 优化权限检查和缓存机制,增加用户和插件数据的并行查询 * ✨ feat(cache): 引入运行时缓存机制,优化用户和插件的ban记录管理 * ✨ feat(auth): 更新is_ban函数文档,添加参数和返回值说明 * ``` feat(auth): 使用内存缓存优化权限验证性能 - 移除数据库查询超时控制,改用 LevelUserMemoryCache、BotMemoryCache 和 PluginLimitMemoryCache 进行缓存查询 - 优化 auth_admin、auth_bot、auth_limit 权限验证逻辑,提升响应速度 - 添加 background 参数支持异步发送权限不足提示消息 - 移除 asyncio 依赖,简化代码结构 fix(auth): 修复限制通知频率控制问题 - 实现限制通知冷却机制,避免重复发送相同限制消息 - 添加 AUTH_LIMIT_NOTICE_CD 配置项,默认值为 2 秒 - 使用 FreqLimiter 控制限制通知发送频率 refactor(models): 增强模型数据变更时的缓存同步 - 在 BotConsole、GroupConsole、LevelUser、PluginLimit 模型的 create、update_or_create、save、delete 方法中自动更新对应缓存 - 确保数据库和内存缓存数据一致性 docs(ban_console): 修正文档注释并优化日志信息 - 修正 BanConsole 类中方法的文档字符串,使用标准参数和返回值格式 - 优化调试日志信息,使描述更加清晰准确 ``` * ✨ feat(auth): 更新Limit类以支持PluginLimitSnapshot,优化限制信息处理 * ✨ feat(bot_manage): 优化Bot控制台初始化逻辑,处理IntegrityError异常 * ✨ feat(mmm1): 新增消息推送功能,支持私聊和群聊事件处理 * ✨ feat(group_member_update): 优化群组成员更新逻辑,增加活动跟踪和消息记录功能 * ✨ feat(mmm1): 删除冗余的消息推送功能代码 * ✨ feat(auth): 优化权限检查逻辑,增加模块阻止功能和缓存处理 * ✨ feat(auth): 优化权限检查逻辑,增加快速ban检测和前置检查功能 * ✨ feat(chat_history): 增强消息处理规则,添加时间间隔限制以防止重复消息 ✨ feat(data_source): 引入异步获取群成员信息的功能,优化用户信息更新逻辑 * ✨ feat(send_queue): 添加异步发送队列以优化API调用和速率限制 * ✨ feat(auth): 添加缓存就绪检查以优化权限处理逻辑 * ✨ feat(plugins): 移除不必要的插件加载以简化插件管理 * ✨ feat(group_console): 优化群组获取逻辑,添加缓存检查以提升性能 ✨ 只接收缓存完成之后时间的消息 * ✨ feat(auth): 添加异步任务管理和超载检测,优化权限处理逻辑 ✨ feat(chat_history): 修改规则函数为异步,提升消息处理效率 ✨ feat(group_handle): 增加安全获取群组信息的异步方法,添加超时处理 ✨ feat(record_request): 引入安全获取群组信息的异步方法,优化群邀请处理 ✨ feat(ban_memory_cache): 增强禁言内存缓存,添加负缓存机制 ✨ feat(message_load): 新增消息负载检测功能,优化任务调度 ✨ feat(scheduler): 在调度器中集成消息压力检测,优化任务执行 ✨ feat(send_queue): 引入异步任务管理,优化发送队列处理 * ✨ feat(auth): 添加对 LevelUserSnapshot 和 BotSnapshot 的支持,优化权限检查逻辑 ✨ 格式化 * ✨ feat(db_context): 增强 get_or_create 方法,处理并发创建冲突并回退查询已存在记录 * ✨ feat(bot_manage): 增强 init_bot_console 方法,处理并发创建冲突并回退查询已存在的 bot 数据 * 🚨 auto fix by pre-commit hooks * ✨ feat(runtime_cache): 优化消息处理逻辑,支持 bytes 和 bytearray 类型的联合判断 * ✨ style(runtime_cache): 格式化代码,优化多行表达式的可读性 * 🚨 auto fix by pre-commit hooks * ✨ refactor: 优化类型注解,改进群组成员更新逻辑和平台处理 ✨ 格式化 * 🚨 auto fix by pre-commit hooks * ✨ refactor: 优化代码格式,增强可读性并修复类型注解 * 🚨 auto fix by pre-commit hooks * ✨ refactor: 更新文档注释,增强is_ban函数的可读性 * ✨ refactor: 优化代码结构,移除冗余函数,增强可读性并改进任务调度逻辑 * ✨ refactor: 调整定时任务时间,优化渲染服务的初始化逻辑,增强代码可读性 --------- Co-authored-by: ATTomatoo <1126160939@qq.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
绪山真寻 Bot
“真寻是椛椛的好朋友!”
🎉 喜欢真寻,于是真寻就来了!🎉
本项目符合 OneBot 标准,可基于以下项目与机器人框架/平台进行交互
| 项目地址 | 平台 | 核心作者 | 备注 |
|---|---|---|---|
| LLOneBot | NTQQ | linyuchen | 可用 |
| Napcat | NTQQ | NapNeko | 可用 |
| Lagrange.Core | NTQQ | LagrangeDev/Linwenxuan04 | 可用 |
🤝 帮助页面
📦 这是一份扩展
1. 体验一下?
这是一个免费的,版本为 dev 的 zhenxun,你可以通过 napcat 或 拉格朗日 以及 matcha 等直接连接用于体验与测试
(球球了测试君!)
Url: ws://test.zhenxun.org:8080/onebot/v11/ws
AccessToken: PUBLIC_ZHENXUN_TEST
注:你无法获得超级用户权限
2. 额外扩展
“不要害怕,你的背后还有千千万万的 伙伴 啊!”
| 项目名称 | 主要用途 | 仓库作者 | 备注 |
|---|---|---|---|
| 插件库 | 插件 | zhenxun-org | 原 plugins 文件夹插件 |
| 插件索引库 | 插件 | zhenxun-org | 扩展插件索引库 |
| 一键安装 | 安装 | soloxiaoye2022 | 第三方 |
| WebUi | 管理 | hibikier | 基于真寻 WebApi 的 webui 实现 预览 |
| 安卓 app(WebUi) | 安装 | YuS1aN | 第三方 |
🥰 来点优点? 可爱难道还不够吗
- 实现了许多功能,且提供了大量功能管理命令,进行了多平台适配,兼容 nb2 商店插件
- 拥有完善可用的 webui
- 通过 Config 配置项将所有插件配置统一保存至 config.yaml,利于统一用户修改
- 方便增删插件,原生 nonebot2 matcher,不需要额外修改,仅仅通过简单的配置属性就可以生成
帮助图片和帮助信息 - 提供了 cd,阻塞,每日次数等限制,仅仅通过简单的属性就可以生成一个限制,例如:
PluginCdBlock等 - 更多详细请通过 传送门 查看文档!
🐣 小白整合
如果你系统是 Windows 且不想下载 Python
可以使用整合包(Python3.10+zhenxun+webui)
文档地址:整合包文档
下载地址
🛠️ 简单部署
# 获取代码
git clone https://github.com/HibiKier/zhenxun_bot.git
# 进入目录
cd zhenxun_bot
# 安装依赖
pip install poetry # 安装 poetry
poetry install # 安装依赖
# 开始运行
poetry run python bot.py
📝 简单配置
Tip
config.yaml 需要启动一次 Bot 后生成
1.在 .env.dev 文件中填写你的机器人配置项
2.在 data/config.yaml 文件中修改你需要修改的插件配置项
数据库地址(DB_URL)配置说明
DB_URL 是基于 Tortoise ORM 的数据库连接字符串,用于指定项目所使用的数据库。以下是 DB_URL 的组成部分以及示例:
格式为: <数据库类型>://<用户名>:<密码>@<主机>:<端口>/<数据库名>?<参数>
- 数据库类型:表示数据库类型,例如 postgres、mysql、sqlite 等。
- 用户名:数据库的用户名,例如 root。
- 密码:数据库的密码,例如 123456。
- 主机:数据库的主机地址,例如 127.0.0.1(本地)或远程服务器 IP。
- 端口:数据库的端口号,例如:PostgreSQL:5432, MySQL:3306
- 数据库名:指定要使用的数据库名称,例如 zhenxun。
- 参数(可选):用于传递额外的配置,例如字符集设置。
📋 功能列表
Note
真寻原
plugins插件文件夹已迁移至 插件仓库 ,现在本体仅保留核心功能
内置功能
🔧 基础功能
- 昵称系统(群与群与私聊分开)
- 签到/我的签到/好感度排行/好感度总排行(影响色图概率和开箱次数,支持配置)
- 商店/我的金币/购买道具/使用道具/金币排行(完整的商店添加/购买/使用流程)
- 查看当前群欢迎消息
- 个人信息查看(群组内权限,聊天频率等)
- 消息撤回
- 功能统计可视化
- 关于
- 三种样式的帮助菜单
🛠️ 管理员功能
- 管理员帮助
- 更新群组成员信息
- 95%的群功能开关
- 查看群内被动技能状态
- 自定义群欢迎消息(是真寻的不是管家的!)
- ban/unban(支持设置 ban 时长)= 群组及用户的黑名单
- 休息吧/醒来(群组内真寻状态)
🧑💼 超级用户功能
- 超级用户帮助
- 添加/删除权限(是真寻的管理员权限,不是群管理员)
- 群组管理,退群指令等
- 广播
- 自检(检查系统状态)
- 所有群组/所有好友
- 退出指定群
- 更新好友信息/更新群信息
- 修改群权限
- 检查更新
- 重启
- 添加/删除/查看群白名单
- 功能开关(更多设置)
- 功能状态
- 执行 SQL
- 重载配置
- 清理临时数据
- 增删群认证
- 同意/拒绝好友/群聊请求
- 添加/移除/更新插件/插件商店(plugins 库以及扩展库)
- WebUI API(对真寻前端的支持)
🛡️ 超级用户的被动技能
-
邀请入群提醒(别人邀请真寻入群,可配置自动同意)
-
添加好友提醒(别人添加真寻好友,可配置自动同意)
🤖 被动技能
- 群早晚安
👻 看不见的技能
- 功能调用统计
- 聊天记录统计
- 检测恶意触发命令(将被最高权限 ban 掉 30 分钟,只有最高权限(9 级)可以进行 unban)
- 自动同意好友/群组请求,加群请求将会提醒管理员,退群提示,加群欢迎等等
- 群聊时间检测(当群聊最后一人发言时间大于当前 48 小时后将关闭该群所有通知(即被动技能))
- 群管理员监控,自动为新晋管理员增加权限,为失去群管理员的用户删除权限
- 群权限系统
- 定时更新权限
- 自动配置重载
- 强制入群保护
- 自定备份(可配置)
- 笨蛋检测(当使用功能名称当指令时真寻会跳出来狠狠嘲笑并帮助)
💖 赞助
赞助名单
(可以告诉我你的 github 地址,我偷偷换掉 0v|)
Zer 爱发电用户_HTjk shenghuo2 术樱 飞火 shenqi A_Kyuu 疯狂混沌 投冥 茶喵 AemokpaTNR 爱发电用户_wrxn qqw 溫一壺月光下酒 伝木 阿奎 醉梦尘逸 Abc 本喵无敌哒 椎名冬羽 kaito 笑柒 XIAO_Q7 请问一份爱多少钱 咸鱼鱼鱼鱼 Kafka 墨然 爱发电用户_T9e4 笑柒 XIAO_Q7 noahzark 腊条 ze roller 爱发电用户_4jrf 爱发电用户_TBsd 烟寒若雨 ln 爱发电用户_b9S4 爱发电用户_c58s 爱发电用户_eNr9 MangataAkihi 炀 爱发电用户_Bc6j 大魔王 CopilotLaLaLa 嘿小欧 回忆的秋千 十年くん 哇 yajiwa 爆金币...
特别赞助
📜 贡献指南
欢迎查看我们的 贡献指南 和 行为守则 以了解如何参与贡献。
❔ 需要帮助?
Tip
发起 issue 前,我们希望你能够阅读过或者了解 提问的智慧
- 善用搜索引擎
- 查阅 issue 中是否有类似问题,如果没有请按照模板发起 issue
欢迎前往 issue 中提出你遇到的问题,或者加入我们的 用户群 或 技术群与我们联系
🛠️ 进度追踪
Project zhenxun_bot
🌟 特别感谢
首席设计师:酥酥/coldly-ss
LOGO 设计:FrostN0v0
🙏 感谢
botuniverse / onebot :超棒的机器人协议
Mrs4s / go-cqhttp :cqhttp 的 golang 实现,轻量、原生跨平台.
nonebot / nonebot2 :跨平台 Python 异步机器人框架
Angel-Hair / XUN_Bot :一个基于 NoneBot 和酷 Q 的功能性 QQ 机器人
pcrbot / cappuccilo_plugins :hoshino 插件合集
MeetWq /nonebot-plugin-withdraw :A simple withdraw plugin for Nonebot2
maxesisn / nonebot_plugin_songpicker2 :适用于 nonebot2 的点歌插件
nonepkg / nonebot-plugin-manager :Nonebot Plugin Manager base on import hook
H-K-Y / Genshin_Impact_bot :原神 bot,这是一个基于 nonebot 和 HoshinoBot 的原神娱乐及信息查询插件
NothAmor / nonebot2_luxun_says :基于 nonebot2 机器人框架的鲁迅说插件
Kyomotoi / AnimeThesaurus :一个特二刺螈(文爱)的适用于任何 bot 的词库
Ailitonia / omega-miya :基于 nonebot2 的 qq 机器人
KimigaiiWuyi / GenshinUID :一个基于 HoshinoBot/NoneBot2 的原神 UID 查询插件
📊 统计与活跃贡献者
👨💻 开发者
感谢以下开发者对 绪山真寻 Bot 作出的贡献:



















