此项目是基于 NoneBot2 和 go-cqhttp 的QQ群聊娱乐机器人
借(chao)鉴(xi)了大佬们的代码,实现了一些对群友的娱乐功能和实用功能(大概
非常 [ NICE ] 的Bot框架
此项目仅用于学习交流,不可商用以及非法用途
本项目支持使用 nb-cli
从 nonebot插件商店 安装插件
-
插件控制
暂时没有 -
涩图 - setu
使用方法
/setu {数量} {关键词} 私聊(群聊)启用(禁用)涩图 qq qq1 qq2 ... 查看涩图设置 切换涩图api # lolicon, acggov 启用(禁用)涩图 # 在当前会话启用(禁用)涩图 重置涩图 # 重置涩图设置
示例:
/setu # 来1张涩图 /setu 3 # 来3张涩图 /setu 阿波尼亚 # 来1张 '阿波尼亚' 的涩图 /setu 3 阿波尼亚 # 来3张 '阿波尼亚' 的涩图 /setu 3 R-18 阿波尼亚 水着 # 来3张 '水着','阿波尼亚','R-18' 的涩图
-
嘴臭屏蔽 - anti abuse
使用方法
检测到有用户
@机器人
并嘴臭时将其临时屏蔽(bot重启后失效)当bot为群管理时会请对方喝昏睡红茶(禁言)
- 超级用户不受临时屏蔽影响
但是会被昏睡红茶影响 - 当bot的群权限比超级用户高的时候, 超级用户也有机会品尝昏睡红茶
- 被bot灌了昏睡红茶的用户不会进临时黑名单
- 开启
对线模式
后不会被bot灌昏睡红茶和临时拉黑 (因为要对线)
指令 权限 需要@ 范围 说明 ^(添加|删除)屏蔽词 xxx 主人 否 私聊 | 群聊 可输入多个,
用空格隔开解除屏蔽 qq 主人 否 私聊 | 群聊 查看临时黑名单 主人 否 私聊 | 群聊 ^(禁用|启用)飞(妈|马|🐴|🐎)令 主人 否 私聊 | 群聊 开启/关闭对线模式 P.S.
解除屏蔽
可以解除临时屏蔽, 也可以解除禁言(当然, 需要bot为群管理).你说从聊天界面查看屏蔽词库? 噢, 我亲爱的老伙计, 你怕是疯了!
- 超级用户不受临时屏蔽影响
-
黑名单 - blacklist
使用方法
基于 A-kirami 的 黑白名单 魔改(?)的仅黑名单插件
超级用户不受黑名单影响
拉黑:
拉黑用户 qq qq1 qq2 拉黑群 qq qq1 qq2 拉黑私聊 qq qq1 qq2 拉黑所有群 拉黑所有好友 私聊静默/私聊禁用/静默私聊/禁用私聊
解禁:
解禁用户 qq qq1 qq2 解禁群 qq qq1 qq2 解禁私聊 qq qq1 qq2 解禁所有群 解禁所有好友 私聊响应/私聊启用/响应私聊/启用私聊
查看黑名单:
查看用户黑名单 查看群聊黑名单 查看私聊黑名单 重置黑名单 # 重置当前Bot帐号对应的黑名单 重置所有黑名单 # 清空黑名单数据库
被禁言自动屏蔽该群:
自觉静默开 自觉静默关
群内发送
/静默
,/响应
可快捷拉黑/解禁当前群聊拉黑/解禁所有
只对已添加的群/好友生效 -
好友/群聊管理 - manager
使用方法
踢出群聊 @qq @qq1 @qq2 ... 禁言 @qq @qq1 @qq2 ... XX分钟(/小时/天) 解除禁言 @qq @qq1 @qq2 ... 我要自闭 XX分钟(/小时/天) 开启(关闭)全员禁言 设为(撤销)管理 @qq @qq1 @qq2 ... 允许(禁止)匿名 修改名片(头衔) @qq @qq1 @qq2 ... XXXX 设置群名 XXXX 申请头衔 XXXX 撤回 # 回复消息发送`撤回` [群聊] 同意(拒绝)入群 FLAG 理由 # `理由` 可省略 [群聊] 入群自动同意(拒绝) [群聊] 关闭入群自动 [群聊] 入群欢迎开(关) [群聊] 退群播报开(关) [群聊] 设置欢迎词 xxxxx [群聊] 查看欢迎词
以下命令需要
@机器人
(私聊不用)同意(拒绝)好友 FLAG 备注 # `备注` 可省略 同意(拒绝)拉群 FLAG 查看好友(群聊)请求 清空好友(入群/拉群)请求 好友(拉群)自动同意(拒绝) 关闭好友(拉群)自动 重置请求自动 设置网名 XXXX 查找好友(群) qq qq1 qq2 ... 查看所有好友(群) 查看单向好友 退群 qq qq1 qq2 ... # 未输入群号则退出当前群聊 删除好友 qq qq1 qq2 ... 删除单向好友 qq qq1 qq2 ... 查看群员列表 设置群头像[图片] # ⚠该API不稳定!
-
关键词禁言 - keyword ban
使用方法
/启用(禁用)keyban # 关键词禁言服务开关
可批量添加多个关键词, 以换行隔开
关键词(/正则)禁言 XX分(/时/日/月) ocr 内容1 内容2 内容3
删除禁言关键词(/正则) 内容1 内容2 内容3
查看禁言关键词(/正则)
清理群禁言规则 qq qq1 qq2 ... # 用于清理已炸或已退出的群聊残留的规则
/reset_keyword_ban_db # 重置数据库
示例:
关键词禁言 1天 吃柠檬 尼玛 群主是沙壁 来点🐍图
正则禁言 30天 http(s)?://.* .*(是|做).+的(狗|猫)
-
自检 - status
-
调用命令行 - sys cmd
使用方法
调用系统命令行
⚠危险操作, 谨慎使用!
>shell {命令}
>cmd {命令}
示例:
>shell echo "Hello World"
>cmd echo "Hello World"
-
说 - echo
使用方法
@机器人
并加上 冒号:
发送你想让机器人说的话@桃桃酱 :xxxxx
为防止用户滥用导致封号,限制仅超级用户可用
-
B链解析 - analysis bilibili
-
反撤回 - anti recall
-
在线跑代码 - code runner
-
群文件直链提取 - direct linker
-
合并转发 - fake msg
-
你看我像 - look like
使用方法
@机器人
发送你看我像
@桃桃酱 你看我像人吗?
-
搜图 - PicSearch
-
RSS订阅 - rss
-
点歌 - simplemusic
-
闲聊 - smart reply
-
塔罗牌 - tarot
使用方法
@机器人 抽塔罗牌
-
安装系统
推荐 不推荐 Debian 11 以上 Debian 10 以下 Ubuntu 20 以上 Ubuntu 18 以下 Windows 10 以上 CentOS MacOS -
安装3.10版本以上的Python, 安装ffmpeg(bot发语音需要), 并正确配置环境变量
-
下载本项目到本地
- 需要注意的是: 请确保将本项目放在纯英文、数字、下划线的路径下.
- 如果你不知道什么叫做路径, 建议你把电脑放进水里泡一下.
-
打开本项目所在目录
-
打开隐藏文件
.env
, 按注释填写相关项 -
在命令行
cd
到本项目的目录 -
创建一个Python3.10以上的虚拟环境, 并安装依赖
使用pip安装
pip install -U -r requirements.txt
使用环境管理器安装
poetry install
-
启动机器人
根据你的安装方式选择启动方式常规启动
python bot.py
或者
nb run
环境管理器启动
poetry run python bot.py
或者
poetry run nb run
或者
poetry shell python bot.py
或者
poetry shell nb run
-
另开一个命令行窗口, 运行适用于你的系统的 go-cqhttp 文件.
-
在 gocq 生成的 config.yml 填写Bot的帐号和密码, 配置
反向ws
监听地址 ws://127.0.0.1:6677/onebot/v11/ws
可以设置成其他端口, 需要与机器人目录下的.env
配置一致. -
保存并关闭文件
-
运行go-cqhttp, 登入成功后, 如果bot主动私聊超级用户说
早ノ🌞
, 那么就大功告成了.