纯兴趣开发,部分功能借鉴了大佬们的代码,作为Q群的娱乐+功能性Bot
此项目仅用于学习交流,请勿用于非法用途 这是开发者的第一个Python项目,请不要苛求语法的规范性 开发者还是高中生,所以受限于学业,开发时间有限,开学后会放缓更新进度
已实现的功能
- 每日一签
- pixiv美图/色图 (常用(大嘘
- 缩写查询
- 群内消息总结(每月/每年)
- 一言
- 插件调用统计
- xp统计
- 傲娇钉宫语音包
- pixiv图片上传
- 萝卜子语音包!(厨力++)
- 星座运势
- 天气 (基于nonebot-plugin-heweather插件修改)
- 鲁迅说 (抄的zhenxun_bot)
- 我有个朋友说
- 答案之书
- 95%的插件功能开关 (基于nonebot_plugin_manager插件修改)
- Bili_Sub 订阅插件 (基于haruka_bot修改优化而来)
- 添加/删除管理(实际上就是设置用户权限)
- 修改群权限
- 多群公告
- 好友请求转发给主人处理
- 超级用户发送多群联合公告后通知主人
- pixiv图片上传由主人审核级别
- 被超级用户拉入群聊自动通过
- 复读
- 问(智障回复)
- B站视频解析 (基于ABot-Graia的插件修改而来)
- 检测恶意触发命令(将被次高权限ban掉5分钟,只有最高权限(9&10级)可以进行unban)
- 群权限系统
功能具体指令说明
参数范例: [必填参数] <可选参数>
功能 | 指令 | 说明 | 权限 |
---|---|---|---|
每日一签 | 签到/luck/抽签/运势 | 发送后返回一张图片,包含随机acg美图、日期、今日运势 | 1 |
权限系统 | perm get perm set [权限等级] |
获取当前对话的权限等级 设置当前会话的权限等级 |
>权限等级 |
pixiv美图/色图 | pix <关键词1> <关键词n> <-l NSFW等级> | 获得一张pixiv的美图、图片信息和图片的高清链接! | 6 |
问 | 以问开头的语句自动触发 | 匹配句中的x不x,多少,多久,什么时候,谁 进行人工智障的回答 | 1 |
缩写查询 | 好好说话 [缩写] | 返回查询到的可能代表的内容(接口magiconch) | 2 |
群内消息总结 | 本群月内总结/本群年内总结 | 效果见功能展示 | 消息记录权限 1 调用生成总结权限 群管理员+超级用户 |
复读 | 相同的三条消息后自动触发 | ?这都需要说明吗 | 2 |
一言 | .h <类型> | a 动画 b 文学 c 影视 d 诗词 e 哲学 f 网易云 | 1 |
亲亲GIF | 亲@目标 | 生成一张狂亲的GIF | 2 |
摸头GIF | 摸@目标 | 生成一张摸头的GIF | 2 |
点歌 | 点歌 歌名 | 顾名思义 | 2 |
插件调用统计 | 插件调用统计 | 生成一张统计图片 | 2 |
xp统计 | xp统计 | 生成一张统计图片,数据源为illust插件搜索的关键词 | 2 |
钉宫语音包 | 傲娇 | 发送一条钉宫的语音和对应的中文翻译 | 3 |
pix图片上传 | pixupload [pid] | 将该uid对应的图片交由主人审核并选择是否添加到图库中 | 6 |
萝卜子语音包 | @机器人 [话] | 随机的一句亚托莉的语音包 | 3 |
星座运势 | .sluck <要绑定的星座> | 获取绑定的星座的今日运势数据 | 1 |
天气 | 天气 <指定城市> | 返回指定城市的天气信息 | 2 |
鲁迅说 | 鲁迅说,内容 | 生成一张鲁迅说的草图 | 3 |
B站视频解析 | BV av b23.tv | 生成解析图片 | 3 |
我有个朋友 | 我有个朋友@朋友 <要说的话> | 生成一张朋友发来消息的图片 | 3 |
答案之书 | 答案之书 [问题] | 字面意思,答案之书 | 2 |
功能 | 指令 | 说明 | 权限 |
---|---|---|---|
插件管理器 | pm list/ban/unban | pm list获取当前会话插件列表 pm ban/unban [插件1] <插件x> 禁用/启用当前会话的指定插件 |
群管+超级用户 |
撤回Bot消息 | 回复Bot消息 撤回 | 让Bot撤回自己发过的指定消息 | 群管+超级用户 |
Bili_sub | 见文档(目前还没写) | 订阅b站主播的直播&动态 | 群管+超级用户 |
功能 | 指令 | 说明 | 权限 |
---|---|---|---|
多群联合公告 | notice [群1 群2] -n [公告内容] | 以1-2秒的随机间隔依次向指定群聊发送一条公告,公告内容暂不支持换行 | 9 |
权限系统 | perm list perm set [权限等级] <-g 群号>/<-u qq号> |
获取加入的所有群聊的权限等级 设置指定群聊/用户的权限等级 |
超级用户 |
各配置文件说明
./configs/config.py
# 身份名单
OWNER: str = "" # 主人
SUPERUSERS: List[Union[int, str]] = ["12345678", "0", "0"] # 超级用户名单
# 各个API的配置
ALAPI_TOKEN: str = "" # ALAPI
NETEASE_API: str = "nemapi.windis.xyz" # NodeJS版本的网易云音乐API的地址
PIXIV_IMAGE_URL: str = "pixiv.windis.xyz" # 反代i.pximg.net的网址
ALI_API_TOKEN: str = "" # 阿里云市场API的APPcode 星座运势功能
WEATHER_API_KEY: str = "" # 和风天气API key 天气功能
# 各种限制
MAX_PROCESS_TIME: int = 30 # 部分指令处理最大等待时间,单位秒,在此期间用户不能再次发起相同指令
BAN_CHEKC_FREQ: int = 5 # 恶意触发命令检测阈值
BAN_CHECK_PERIOD: int = 3 # 恶意触发命令检测时间
BAN_TIME: int = 5 # 恶意触发命令后的封禁时间,单位分钟
# 日志记录时长
DEBUG_LOG_TIME: int = 5 # 调试日志记录时长,单位天
INFO_LOG_TIME: int = 60 # 普通日志记录时长,单位天
ERROR_LOG_TIME: int = 90 # 错误日志记录时长,单位天
# 隐藏插件列表
HIDDEN_PLUGINS: List[str] = [
"nonebot_plugin_apscheduler",
"nonebot_plugin_test",
"hook",
"invite_check",
"withdraw",
]
WEATHER_DEFAULT: str = "" # 天气插件默认城市/区
./configs/path_config.py
# 图片路径
IMAGE_PATH = Path("resources/img/")
# 音频路径
VOICE_PATH = Path("resources/voice/")
# 文本路径
TEXT_PATH = Path("resources/text/")
# 模板路径
TEMPLATE_PATH = Path("resources/templates")
# 字体路径
FONT_PATH = Path("resources/fonts/")
# 日志路径
LOG_PATH = Path("log/")
# 数据路径
DATA_PATH = Path("data/")
# 临时图片路径
TEMP_PATH = Path("resources/img/temp/")
更新记录
- 添加功能-答案之书
- 新增图片类ImageUtil
- 添加功能-我有个朋友生成器
- 修复部分Bug
- 提升截图的清晰度
- 不知道咕了多少天
- 添加功能-B站订阅推送
- 添加功能-B站视频解析
- 数据库结构重构
- 增加旧版数据转换,但依旧建议手动备份data.db
- ???
- 修复大量错误
- 准备发版
- 添加功能-天气
- 这应该是开学前最后一个更新了
- 添加功能-星座运势
- 签到添加了新的一个模板
- 添加了部署指南
- 签到的图片模板改为自适应高度
- 解决了签到的图片拉伸问题
- 添加功能-亚托莉语音包(目前基于文本相似度匹配)
- Pixiv美图添加功能-多关键词搜索
- Pixiv美图添加功能-pid直接向P站搜索
- 添加功能-撤回指定消息
- 修复部分指令间冲突的BUG
- 添加插件调用统计替代指令
- 修复插件调用统计统计未启用插件
- 添加功能-上传p站图片到图库
- 添加功能-钉宫语音包
- 修复了加群审核的报错(只要try except了就不叫报错
- 修复每日签到积分bug
- 修复部分插件权限问题
- 添加了钉宫语音包功能
- 修复插件管理器获取权限报错的问题
- 修复了私聊bot设置自己权限时报错无反馈的问题
- 修复了xp统计全部渲染的Bug
- 修复了插件调用统计的Bug
- 修复一些优先级的bug
- 加入插件统计
- 加入xp统计
- 修复一些绘图BUG
- 加入所有环境下都关闭重载
- 修复不知道哪些BUG
- 修改pixiv美图发送的图片质量和链接内容
- 修了一整天的服务器,现在bot内部调用的我自建的API都正常了
- 修复插件管理系统禁用插件时的bug
- 修复权限和插件管理的-u -g不能同时管理多个会话的bug
- 修复pixiv美图功能若原画失效导致抛出Exception的bug
- 修复公告插件无法发送多行公告
- 更新部分依赖
- 点歌、摸头GIF、狂亲GIF
- Legacy插件重构完成
- 配置文件更新为空配置,需手动修改
- 又是很多神奇的东西
- Legacy的插件基本要重置完成了
- 很多神奇的东西(懒得写了
- 智障随机问答
- pixiv美图
- 加入了多群联合公告插件
- 在README中对部分功能进行了说明
- 更新到光速发版的nonebot 2.0.0a15
- 加入签到插件(至少能用了(有功能辣!))
- 数据库相关服务和模型
- 开始重构Takker(指新建文件夹)
- 重新封装部分API
- 文档
- 群管功能
- Web管理面板
- 缓存清理功能
- 完善各种功能
- docker容器化部署
- 提供非侵入式的权限等级管理方式
Onebot
go-cqhttp
nonebot2
zhenxun_bot
nonebot_plugin_songpicker2
nonebot_plugin_manager
saya_plugin_collection
nonebot_plugin_help
Haruka_bot