适用于HoshinoBot v2的授权插件, 可控制cqhttp的事件过滤器. 大部分功能以天枢授权为蓝本而开发. 本插件另有带有web服务的页面, 如果需要请按照注释开启web. 本项目主体框架由wdvxdr1123构建, 火龙添加了一些重要功能.
本授权系统的开发调试过程均以go-cqhttp进行, 请使用v0.9.24-fix2以上版本的go-cqhttp; 不支持v1.0.0以上版本的go-cqhttp.
v0.2.0及之后使用事件过滤器来进行授权控制, cqhttp-mirai暂时不支持此特性, 如果使用cqhttp-mirai请从release下载v0.1.5-fix1版本, 请使用v0.2.2.5以上版本的cqhttp-mirai, 否则Bot进群等部分功能将不可用.
本项目使用GPL-3.0协议, 您使用本插件所造成的一切财产损失或其他形式损失, 均与开发者无关, 开发者不承担任何相关责任.
相关链接: 本项目地址: https://github.com/pcrbot/authMS
HoshinoBot项目地址: https://github.com/Ice-Cirno/HoshinoBot
-
无GUI ,不依赖Native环境, 依托于nonebot架构, 对不同的操作系统友好
-
自定义新群试用
-
自定义到期后是否自动退群
-
支持自定义入群发言, 退群发言
-
自定义每日检查频率(最低为每日一次), 可手动快速检查
-
支持无卡密操作, 直接对一个群的授权进行修改/清零
-
支持批量操作(网页/私聊)
-
支持手动提醒群续费(网页)
-
可自动接受好友请求
-
自动检查人数
-
卡密部分自定义
-
授权检查范围广, 支持以下情形:
- 被拉近50人以下的群(因为默认不需要被邀请者同意)
- 超过50人群, 需要机器人同意的群
- 机器人掉线期间被邀请加入的群
- 维护者手动登录机器人帐号加入的群
以上情况加入的群聊, 均会收到授权系统的自动检测, 并可自定义退群或开启试用等操作。
注意, 以下指令中的空格均不可省略
- 【生成卡密 31*5】生成5张31天的卡密
- 【卡密列表】查看已有卡密的信息,后跟数字来查看对应页数
- 【授权列表】查看所有授权群的信息,后跟数字来查看对应页数
- 【管理员帮助】查看管理员指令
- 【快速检查】立刻检查群的授权, 检查方式与定时任务一样
- 【刷新事件过滤器】手动刷新事件过滤器
- 【变更授权 123456789+5】为群123456789增加5天授权, 也可以是减
- 【转移授权 123456*987654】将群123456的剩余时间转移至群987654
- 【授权状态】查询此机器人授权信息的统计, 仅限超级管理员
- 【清除授权 987654】清除群987654的全部授权, 并自动退群(如果配置了的话)
- 【退群 987654】命令退出群聊987654, 但并不清除剩余授权时间
- 【变更所有授权 3】为所有已有授权的群增加3天授权时间
- 【不检查人数 987654】不检查群987654的人数是否超标, 直接在群聊中发送则不必附加群号
- 【不检查授权 987654】不检查群987654的授权是否过期, 直接在群聊中发送则不必附加群号
- 【添加白名单 987654】不检查群987654的授权是否过期以及人数是否超标, 直接在群聊中发送则不必附加群号
- 【移除白名单 987654】将群987654从白名单中移出
- 【全部白名单】查询全部白名单信息
- 【检验卡密 abcdefghijklemop】检查卡密的有效性
- 【充值 abcdefghijklemop】群聊使用,为本群充值
- 【充值 abcdefghijklemop*123456789】为群123456789充值
- 【充值帮助】查看充值帮助内容
- 在HoshinoBot的modules目录下克隆本项目:
git clone https://github.com/pcrbot/authMS.git
- 安装依赖, 如下载过慢建议清华镜像:
pip install -r requirements.txt
- 以
filter.json
放入go-cqhttp目录下. - 在HoshinoBot统一配置目录下保存配置信息,命名为
authMS.py
, 已提供配置样板authMS.py.example
, 按照注释修改为您需要的配置. 请注意, 必须配置事件过滤器路径.
-
日志功能并非Hoshino内置的日志记录, 而是作为单独文件记录. 默认保存位置
log/authMS.log
, 默认只记录卡密使用, 加群退群被踢. -
支持本机多个机器人数据互通, 详情参考
authMS.py.example
中的注释, SQLite是一个本地化的数据库, 因此不支持网络, 配置目录请注意使用斜杠/
. -
如果您是初次使用authMS, 且希望配置为到期自动退群, 建议保持默认
ENABLE_AUTH
为0, 待完成全部现有群授权后, 再修改.
更新时间:2020/9/27
此版本主要进行风控规避#16
- 配置文件新增以下参数:
BEGIN
, 用以自定义卡密开头
- 功能变更与调整:
- 发言与退群之间间隔增大, 并限速调用
- 人数检查纳入日志的记录范围
- 卡密开始部分支持自定义, 总长度不变, 例如PCRkPTNeGFilybVn
- 进群之后不会立刻退群, 而是等待下一次自动检查任务时退群
更新时间:2020/9/15
此版本主要针对事件过滤器重构
- 配置文件新增以下参数:
EVENT_FILTER
, 事件过滤器配置文件目录.
- 功能变更与调整:
- 直接内置了编译好的vue文件
- 指令变更:
- 新增管理员指令【刷新事件过滤器】
更新时间:2020/9/9
此版本主要新增日志、人数限制、白名单系统、以及网页授权管理
- 配置文件新增以下参数:
DEBUG
, 默认关闭, 开启后会详细记录所有的日志.LOG
, 默认开启, 记录重要日志信息, 如进群退群卡密使用LEAVE_AFTER_DAYS
, 在授权到期X天后再退群(仅当配置AUTO_LEAVE
为True时有效)MAX_GROUP_NUM
, 最大允许的群人数
- 功能变更与调整:
- 新增人数检查功能, 在群人数超标时可以根据配置自动退群或者发送提醒
- 新增白名单功能, 有三种类型, 不检查授权、不检查人数和全部不检查(注意查询授权出来的的结果不会变, 只是不会自动退群或停止响应消息)
- 更新网页授权管理(by wdvxdr1123)
- 退群统一由
util.gun_group()
处理, 退群时将会发送退群原因 - 修改配置文件中一些参数的默认值
- 指令变更:
- 移除无效指令【帮助充值】
- 新增管理员指令【不检查人数】【不检查授权】【添加白名单】【全部白名单】【移除白名单】
- 错误修复:
- 修复管理员帮助无法查看的问题
- 修复web授权管理的漏洞, POST请求没有鉴权(by wdvxdr1123)
更新时间:2020/8/26
- 配置文件新增以下参数:
ENABLE_WEB
, 是否同时启用web管理(之前需在__init__.py
中配置)PASSWORD
, web管理密码(之前需在web_server.py
配置)REG_HELP_GROUP
, 群聊充值帮助文本REG_HELP_PRIVATE
, 私聊充值帮助文本ADMIN_HELP
, 给管理员的帮助文本FRIEND_APPROVE
, 是否自动接受加好友的请求
- 文件结构调整
- 新增指令【快速检查】【充值帮助】【管理员帮助】
- 新增特性: 处理加好友事件
- 新增特性: 与管理后台分离的激活界面(感谢A-kirami
更新时间:2020/8/22
- 添加
nonebot_plugin.py.example
, 可以实现对yobot的授权控制(虽然早就有了) - 配置文件新增以下参数:
ENABLE_AUTH
, 授权系统自动检查/退群总开关FREQUENCY
, 控制授权系统自动检查的频率GROUPS_IN_PAGE
, 控制每页显示的群的条数CARDS_IN_PAGE
, 控制每页显示的卡密条数
- 移除配置项目:
ALLOW_PRIVETE_CHECK
- 优化获取全部授权列表时的参数, 大幅降低API调用次数(尤其是在群较多时)
更新时间:2020/8/18
本次更新合并了HoshinoAuthorizeSystem的功能
- 新增退群,广播功能
- 现在获取已授权群的时时候,会返回群名了
- 使用指令所需权限不足时均增加了提示
- 精简了转移授权部分的代码
更新时间:2020/8/18
- 修正#1, 在设置新群使用天数为0时, 自动退群设置不起作用而直接退群
- 新增指令, 为所有已有授权的群修改时间
更新时间:2020/8/15
- 初版发布