Skip to content

基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot

License

Notifications You must be signed in to change notification settings

akademeia/zhenxun_bot

 
 

Repository files navigation

maven maven maven

绪山真寻Bot


此项目基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库的QQ群娱乐机器人

关于

用爱发电,某些功能学习借鉴了大佬们的代码,因为绪山真寻实在太可爱了因此开发了 绪山真寻bot,实现了一些对群友的娱乐功能和实用功能(大概)。

如果该项目的图片等等侵犯猫豆腐老师权益请联系我删除!

是新手!希望有个地方讨论绪山真寻Bot,或者有问题或建议,可以发送issues或加入[ 是真寻酱哒(萌新版) ]

声明

此项目仅用于学习交流,请勿用于非法用途

Nonebot2

非常 [ NICE ] 的OneBot框架

未完成的文档

真寻的帮助

请对真寻说: '真寻帮助' or '管理员帮助' or '超级用户帮助' or '真寻帮助 指令'

普通帮助图片

x

HTML版帮助图片

x

Web UI

zhenxun_bot_webui

一键安装脚本

zhenxun_bot-deploy

提供符合真寻标准的插件仓库

AkashiCoin/nonebot_plugins_zhenxun_bot

来点优点?

  • 实现了许多功能,且提供了大量功能管理命令
  • 通过Config配置项将所有插件配置统计保存至config.yaml,利于统一用户修改
  • 方便增删插件,原生nonebot2 matcher,不需要额外修改,仅仅通过简单的配置属性就可以生成帮助图片帮助信息
  • 提供了cd,阻塞,每日次数等限制,仅仅通过简单的属性就可以生成一个限制,例如:__plugin_cd_limit__
  • ..... 更多详细请通过传送门查看文档!

功能列表

已实现的功能

已实现的常用功能

  • 昵称系统(群与群与私聊分开.)

  • 图灵AI(会把'你'等关键字替换为你的昵称),且带有 AnimeThesaurus,够味

  • 签到/我的签到/好感度排行/好感度总排行(影响色图概率和开箱次数,支持配置)

  • 发送某文件夹下的随机图片(支持自定义,默认:美图,萝莉,壁纸)

  • 色图(这不是基础功能嘛喂)

  • coser

  • 黑白草图生成器

  • 鸡汤/语录

  • 骂我(钉宫语音)

  • 戳一戳(概率发送美图,钉宫语音或者戳回去)

  • 模拟开箱/我的开箱/群开箱统计/我的金色/设置cookie(csgo,内置爬虫脚本,需要提前抓取数据和图片,需要session,可能需要代理,阿里云服务器等ip也许已经被ban了(我无代理访问失败),如果访问太多账号API调用可能被禁止访问api!)

  • 鲁迅说过

  • 构造假消息(自定义的分享链接)

  • 商店/我的金币/购买道具/使用道具

  • 8种手游抽卡 (查看 nonebot_plugin_gamedraw)

  • 我有一个朋友想问问..(借鉴pcrbot插件)

  • 原神黄历

  • 原神今日素材

  • 原神资源查询 (借鉴Genshin_Impact_bot插件)

  • 原神便笺查询

  • 原神玩家查询

  • 原神树脂提醒

  • 原神签到/自动签到

  • 金币红包

  • 微博热搜

  • B站主播/UP/番剧订阅

  • pil对图片的一些操作

  • BUFF饰品底价查询(需要session)

  • 天气查询

  • 疫情查询

  • bt磁力搜索(咳咳,这功能我想dddd)

  • reimu搜索(上车) (使用XUN_Langskip的插件)

  • 靠图识番 (使用XUN_Langskip的插件)

  • 以图搜图 (使用nonebot_plugin_picsearcher插件)

  • 搜番

  • 点歌 nonebot_plugin_songpicker2插件(删除了选歌和评论)

  • epic免费游戏

  • p站排行榜

  • p站搜图

  • 翻译(日英韩)

  • pix图库(一个自己的图库,含有增删查改,黑名单等命令)

  • 查看当前群欢迎消息

  • 查看该群自己的权限

  • 我的信息(只是为了看看什么时候入群)

  • 更新信息(如果继续更新的话)

  • go-cqhttp最新版下载和上传(不需要请删除)

  • 撤回

  • 滴滴滴-(用户对超级用户发送消息)

  • 金币红包/金币排行

  • 俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行

  • 网易云热评

  • 念首古诗

  • 获取b站视频封面

  • 通过PID获取图片

  • 功能统计可视化

  • 词云

  • 关于

已实现的管理员功能

  • 更新群组成员信息

  • 95%的群功能开关

  • 查看群内被动技能状态

  • 自定义群欢迎消息(是真寻的不是管家的!)

  • .ban/.unban(支持设置ban时长)= 黑白名单

  • 刷屏禁言相关:刷屏检测设置/设置禁言时长/设置检测次数

  • 上传图片/连续上传图片 (上传图片至指定图库)

  • 移动图片 (同上)

  • 删除图片 (同上)

  • 群内B站订阅

  • 词条设置

  • 休息吧/醒来

已实现的超级用户功能

  • 添加/删除权限(是真寻的管理员权限,不是群管理员)

  • 开启/关闭指定群的广播通知

  • 广播

  • 自检(检查系统状态)

  • 所有群组/所有好友

  • 退出指定群

  • 更新好友信息/更新群信息

  • /t(对用户进行回复或发送消息)

  • 上传/删除/修改商品(需要编写对应的商品功能)

  • 节日红包发送

  • 修改群权限

  • ban

  • 更新色图

  • 更新价格/更加图片(csgo开箱)

  • 重载原神/方舟/赛马娘/坎公骑冠剑卡池

  • 更新原神今日素材/更新原神资源信息

  • PIX相关操作

  • 检查更新真寻

  • 重启

  • 添加/删除/查看群白名单

  • 功能开关(更多设置)

  • 功能状态

  • b了

  • 执行sql

  • 重载配置

  • 清理临时数据

  • 增删群认证

  • 同意/拒绝好友/群聊请求

  • 配置重载

超级用户的被动技能

  • 邀请入群提醒(别人邀请真寻入群)

  • 添加好友提醒(别人添加真寻好友)

已实现的被动技能

  • 进群欢迎消息

  • 群早晚安

  • 每日开箱重置提醒

  • b站转发解析(解析b站分享信息,支持bv,bilibili链接,b站手机端转发卡片,cv,b23.tv),且5分钟内不解析相同url

  • 丢人爬(爬表情包)

  • epic通知(每日发送epic免费游戏链接)

  • 原神黄历提醒

  • 复读

已实现的看不见的技能

  • 刷屏禁言检测

  • 功能调用统计

  • 检测恶意触发命令(将被最高权限ban掉30分钟,只有最高权限(9级)可以进行unban)

  • 自动同意好友请求,加群请求将会提醒管理员,退群提示,加群欢迎等等

  • 群聊时间检测(当群聊最后一人发言时间大于当前36小时后将关闭该群所有通知(即被动技能))

  • 群管理员监控,自动为新晋管理员增加权限,为失去群管理员的用户删除权限

  • 群权限系统

  • 定时更新权限

  • 自动配置重载

详细配置请前往文档,以下为最简部署和配置,如果你有基础并学习过nonebot2的话

简单部署


# 配置gocq

在 https://github.com/Mrs4s/go-cqhttp 下载Releases最新版本,运行后选择反向代理,
  后将gocq的配置文件config.yml中的universal改为universal: ws://127.0.0.1:8080/onebot/v11/ws

# 获取代码
git clone https://github.com/HibiKier/zhenxun_bot.git

# 进入目录
cd zhenxun_bot

# 安装依赖
pip install poetry      # 安装 poetry
poetry install          # 安装依赖

# 进行基础配置
####请查看 配置 部分####

# 开始运行
poetry shell            # 进入虚拟环境
python bot.py

简单配置

1.在.env.dev文件中

  SUPERUSERS = [""]   # 填写你的QQ

2.在configs/config.py文件中
  * 数据库配置

3.在configs/config.yaml文件中 # 该文件需要启动一次后生成
  * 修改插件配置项

使用Docker

Docker 单机版(仅真寻Bot)
点击下方的 GitHub 徽标查看教程
Github
DOCKER
Docker 全量版(包含 真寻Bot PostgreSQL数据库 go-cqhttp webui等)
Github
DOCKER
点击上方的 GitHub 徽标查看教程
PS: ARM平台 请使用全量版 同时 如果你的机器 RAM < 1G 可能无法正常启动全量版容器

爱发电 以及 感谢投喂

感谢名单

(可以告诉我你的 github 地址,我偷偷换掉0v|)

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
爆金币

更新

2023/5/24

  • 轮盘结算信息使用图片发送

2023/5/23

  • 修复群聊数据无法初始化
  • 修复修改图库配置重载后上传图片时提示的图库与配置不符

2023/5/22

  • 群聊中B站订阅所有管理员共享增删操作
  • 数据库中所有user_qq改名以及user_id和group_id改为字符串
  • 修改查看词条图片等显示问题

2023/5/16

  • 修复因明日方舟新增“中坚寻访”导致抽卡模拟不可用的问题 @pull/1418

2023/4/16

  • 修复开箱更新未登录时没有停止更新
  • 修复更新色图问题
  • fix bug @pull/1368
  • BilibiliSub的部分字段改为字符串

2023/4/5

  • 词条正则回答中允许使用$1.$2..来获取()捕获组

2023/4/3

  • 修复帮助命令-super无效

2023/4/1

  • 修复开箱偶尔出现未抽取到任何皮肤
  • 修改优化开箱显示图片

2023/3/28

  • 补全注释SCRIPT中的sql语句
  • 罕见物品更新时会收录所有包含该物品的箱子,可以通过更新皮肤ALL1 -S强制更新所有罕见物品所属箱子

2023/3/27

  • 优化开箱更新

2023/3/25

  • 删除BUFF_SKIN表约束,新增skin_id字段
  • 开箱新增更新指定刀具皮肤命令(某些箱子金色无法通过api获取)
  • 修复词条At时bug与模糊查询时无法替换占位符问题

2023/3/20

  • 修复BuildImage类text居中类型bug @pull/1301
  • 修复原神今日素材有时发不出图片的问题 @pull/1301
  • 修复首次签到时使用道具后签到报错
  • 修复词条添加错误

2023/3/19

  • 优化代码
  • 查看武器箱及皮肤添加更新次数
  • 修复添加群认证会检测群聊是否存在
  • 修复色图r连发时未检测当前会话是否为群聊

2023/3/18

  • 修复色图重复发送相同图片
  • 修复签到好感度进度条错误

2023/3/12 [v0.1.6.7]

  • 新增更新武器箱ALL命令来更新所有武器箱
  • 新增查看武器箱命令
  • 色图bug修复、增加指令 @pull/1301

2023/3/9

2023/3/5

  • 更新开箱会记录箱子数据以及开箱时箱子价格加入花费
  • 修复开箱BUG

2023/3/4

  • 重写翻译,使用百度翻译API
  • 新增开箱日志以及自动更新武器箱

2023/3/2

  • 修复config.yaml中把False也当成None的问题 @pull/1288
  • 删除道具表无用字段(props) @pull/1287
  • 修复词云
  • 修复我的签到签到图片
  • 更正BuffSkin添加语句
  • 修复词条单图片/表情/at无法添加

2022/3/1

  • 重写开箱更新箱子,允许更新目前所有箱子的皮肤
  • 修复消息统计

2023/2/28

  • 把Config的type字段默认类型由str改为None @pull/1283
  • 修复同意群聊请求以及添加群认证 更新变成查询的问题 @pull/1282

2023/2/26

  • Config提供type字段确定配置项类型
  • 重写开箱功能

2023/2/25

  • 修复ys查询,尘歌壶背景尺寸与内容不匹配的问题 @pull/1270
  • 更换cos url @pull/1270

2023/2/20

  • chat_history部分字段调整为可null @pull/1270

2023/2/19

  • 修正了重载插件的帮助提示
  • 修改BUG

2023/2/18

  • 数据库舍弃gino使用tortoise
  • 昵称提供命令全局昵称设置
  • manager_group群管理操作中退群修改群权限添加/删除群白名单添加/删除群认证在群聊中使用命令时且未指定群聊时,默认指定当前群聊
  • 修复插件帮助命令不生效的问题 @pull/1263
  • 解决开红包经常误触的问题,有红包和未领取的时候才会触发“开”命令 @pull/1257
  • 细节优化,原神今日素材重写 @pull/1258

2023/1/31

2023/1/27

2022/12/31

  • 修复epic报错,优化简介 @pull/1226
  • 修复词条在某些回答下出错
  • 原神黄历改为PIL
  • 允许真寻自身触发命令,提供配置项 self_message:STATUS

2022/12/27 [v0.1.6.6]

  • 添加权限检查依赖注入

2022/12/26

  • 优化gamedraw插件
  • 提供全局被动控制
  • 群被动状态改为图片
  • 修复epic获取到的简介不是中文的bug @pull/1221

2022/12/24

  • 修复群管理员权限检测会阻挡超级用户权限

2022/12/23

  • 优化管理员帮助超级用户帮助图片
  • 重新移植gamedraw
  • 修复pil帮助私聊时无法生成

2022/12/17

  • 修复查看插件仓库当已安装插件版本不一致时出错

2022/12/15

  • 修复自定义群欢迎消息无法使用

2022/12/13

  • 修复.unban

2022/12/12

  • 修改HTML帮助禁用提示文本错误
  • 修复HTML帮助私聊无法生成

2022/12/11

  • 词条问题支持真寻的昵称开头与at真寻开头并优化回复
  • 帮助新增HTML生成(新布局),添加配置TYPE切换
  • 更正私聊时功能管理回复错误
  • 修复加入新群聊时初始化功能开关错误
  • 添加单例注解
  • 添加统计表

2022/12/10

  • 重写帮助,删除 详细帮助 命令

2022/12/4

  • 优化管理代码

2022/11/28

  • 修复web_ui群组无法获取
  • 修复web_ui修改插件数据时cmd格式错误

2022/11/28

  • 🐛 Fix a bug in open_cases to get vanilla knives' prices @pull/1188

2022/11/24

  • 修复管理员插件加载路径错误

2022/11/23

  • 修复webui插件无法获取修改

2022/11/22

2022/11/21 [v0.1.6.5]

  • 优化manager, hook代码
  • 修复pid搜图 @pull/1180

2022/11/19

  • 修改优化帮助图片生成逻辑

2022/11/18

  • poetry添加适配器依赖,更新支持py3.10 @pull/1176

2022/11/13

  • 更新天气api
  • 使用道具可以附带额外信息供函数使用
  • 限制帮助图片最小宽度

2022/11/12

2022/11/11

2022/10/30

  • 商店简介动态行数,根据文字长度自动换行

2022/10/28

  • 为exec指令进行了SELECT语句适配,添加了查看所有表指令 @pull/1155
  • 修复复读 @pull/1154

2022/10/23

  • 复读修改回图片下载

2022/10/22

  • 更新依赖注入

2022/10/16 [v0.1.6.4]

  • 修改商店道具icon可以为空

2022/10/15

  • nonebot2版本更新为rc1
  • 我的道具改为图片形式
  • 商品添加图标与是否为被动道具(被动道具无法被主动使用)
  • 商品添加使用前方法和使用后方法(类似hook),使用方法具体查看文档或签到商品文件中注册的例子
  • 新增用户使用道具,花费金币(包括插件)及用途记录
  • 更细致的金币使用依赖注入
  • 更多的依赖注入(包含图片获取等等..
  • 修复我的道具仅有被动或主动道具时图片显示错误
  • 色图插件p站反向代理失效 @pull/1139

2022/10/9

  • 修复碧蓝档案角色获取问题,换源 @pull/1124

2022/10/7

  • 修复 B 站请求返回 -401 错误 @pull/1119
  • 关闭功能与被动时不再区分大小写,同名时仅被动关闭操作生效

2022/9/30

2022/9/27

2022/9/24

2022/9/19

  • 更换bilibili_sub获取用户昵称用的API&尝试修了一下get_video() @pull/1097
  • 修复csgo每日开箱可以多开一次

2022/9/18

  • 修复 bilireq 版本过低导致 B 站视频解析错误 @pull/1090

2022/9/16

  • fix: bilibili_sub, azur_draw_card @pull/1090
  • 修复原神资源查询查询完毕后图片存储错误
  • b站订阅发送 与 b站订阅 使用相同开关,即:关闭b站订阅

2022/9/10

  • 自定义群欢迎消息参数不完全时提示报错
  • 修改bt插件的url地址 @pull/1067

2022/9/8

  • 添加插件数据初始化判断

2022/9/4

  • 旧词条提供图片迁移(需要重新获取old_model文件,并将数据库中user_qq为0的数据删除)

2022/9/3

  • 原神玩家查询增加须弥地区 @pull/1053
  • av号覆盖全面,且修复av号链接 @pull/1033
  • 修复词条含有CQ回答的模糊匹配无法被解析
  • 禁言检测图片在内存中获取图片hash
  • B站订阅在群里中任意群管理员可以统一管理(原来为管理员1无法删除管理员2的订阅)
  • 修复原神资源查询地图api数据变更导致更新的地图不完全

2022/8/27

  • 修复签到积分双倍后,日志记录获得积分变4倍问题 @pull/1044

2022/8/26

  • 修复群管理员无法添加词条
  • 修复词条关键词"问"前空格问题

2022/8/23

2022/8/22

  • 修复首次安装时词条旧表出错(因为根本就没有这张表!)
  • 取消配置替换定时任务,统一存储
  • 对米游社cookie进行判断,整合米游社签到信息 @pull/1014
  • 修正尘歌壶和质变仪图片获取地址 @pull/1010
  • 修复词库问答 很多 问题@pull/1012

2022/8/21 [v0.1.6.3]

  • 重构群词条,改为词库Plus,增加 精准|模糊|正则 问题匹配,问题与回答均支持at,image,face,超级用户额外提供 全局|私聊 词库设置,数据迁移目前只提供了问题和回答都是纯文本的词条
  • 修复b站转发解析av号无法解析
  • B站订阅直播订阅支持短号
  • 开箱提供重置开箱命令,重置今日所有开箱数据(重置次数,并不会删除今日已开箱记录)
  • 提供全局字典GDict,通过from utils.utils import GDict导入
  • 适配omega 13w张图的数据结构表(建议删表重导)
  • 除首次启动外将配置替换加入单次定时任务,加快启动速度
  • fix: WordBank.check() @pull/1008
  • 改进插件 我有一个朋友,避免触发过于频繁 @pull/1001
  • 原神便笺新增洞天宝钱和参量质变仪提示 @pull/1005
  • 新增米游社签到功能,自动领取(白嫖)米游币 @pull/991

2022/8/14

  • 修复epic未获取到时间时出错
  • 修复订阅主播时动态获取的id是直播间id

2022/8/8

  • 修复赛马娘重载卡池失败的问题 @pull/969

2022/8/3

  • 修复 bili动态链接在投稿视频时URL和分割线连在一起 @pull/951
  • 更新 Epic 免费游戏商城链接拼接规则 @pull/957

2022/8/6

  • 修复了原神自动签到返回invalid request的问题,新增查看我的cookie命令 @pull/971

..... 更多更新信息请查看文档

Todo

  • web管理

感谢

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查询插件

About

基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%