Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

pcrbot/authMS

Repository files navigation

authMS

适用于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充值
  • 【充值帮助】查看充值帮助内容

开始使用

  1. 在HoshinoBot的modules目录下克隆本项目:
    git clone https://github.com/pcrbot/authMS.git
    
  2. 安装依赖, 如下载过慢建议清华镜像:
    pip install -r requirements.txt
    
  3. filter.json放入go-cqhttp目录下.
  4. 在HoshinoBot统一配置目录下保存配置信息,命名为authMS.py, 已提供配置样板authMS.py.example, 按照注释修改为您需要的配置. 请注意, 必须配置事件过滤器路径.

其他

  • 日志功能并非Hoshino内置的日志记录, 而是作为单独文件记录. 默认保存位置log/authMS.log, 默认只记录卡密使用, 加群退群被踢.

  • 支持本机多个机器人数据互通, 详情参考authMS.py.example中的注释, SQLite是一个本地化的数据库, 因此不支持网络, 配置目录请注意使用斜杠/.

  • 如果您是初次使用authMS, 且希望配置为到期自动退群, 建议保持默认ENABLE_AUTH为0, 待完成全部现有群授权后, 再修改.

贡献

GitHub@wdvxdr1123

GitHub@xhl6699

GitHub@var

更新日志

v0.2.1

更新时间:2020年9月27日

此版本主要进行风控规避#16

  • 配置文件新增以下参数:
    • BEGIN, 用以自定义卡密开头
  • 功能变更与调整:
    • 发言与退群之间间隔增大, 并限速调用
    • 人数检查纳入日志的记录范围
    • 卡密开始部分支持自定义, 总长度不变, 例如PCRkPTNeGFilybVn
    • 进群之后不会立刻退群, 而是等待下一次自动检查任务时退群

v0.2.0

更新时间:2020年9月15日

此版本主要针对事件过滤器重构

  • 配置文件新增以下参数:
    • EVENT_FILTER, 事件过滤器配置文件目录.
  • 功能变更与调整:
    • 直接内置了编译好的vue文件
  • 指令变更:
    • 新增管理员指令【刷新事件过滤器】

v0.1.5

更新时间:2020年9月9日

此版本主要新增日志、人数限制、白名单系统、以及网页授权管理

  • 配置文件新增以下参数:
    • DEBUG, 默认关闭, 开启后会详细记录所有的日志.
    • LOG, 默认开启, 记录重要日志信息, 如进群退群卡密使用
    • LEAVE_AFTER_DAYS, 在授权到期X天后再退群(仅当配置AUTO_LEAVE为True时有效)
    • MAX_GROUP_NUM, 最大允许的群人数
  • 功能变更与调整:
    • 新增人数检查功能, 在群人数超标时可以根据配置自动退群或者发送提醒
    • 新增白名单功能, 有三种类型, 不检查授权、不检查人数和全部不检查(注意查询授权出来的的结果不会变, 只是不会自动退群或停止响应消息)
    • 更新网页授权管理(by wdvxdr1123)
    • 退群统一由util.gun_group()处理, 退群时将会发送退群原因
    • 修改配置文件中一些参数的默认值
  • 指令变更:
    • 移除无效指令【帮助充值】
    • 新增管理员指令【不检查人数】【不检查授权】【添加白名单】【全部白名单】【移除白名单】
  • 错误修复:
    • 修复管理员帮助无法查看的问题
    • 修复web授权管理的漏洞, POST请求没有鉴权(by wdvxdr1123)

v0.1.4

更新时间: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

v0.1.3

更新时间:2020年8月22日

  • 添加nonebot_plugin.py.example, 可以实现对yobot的授权控制(虽然早就有了)
  • 配置文件新增以下参数:
    • ENABLE_AUTH, 授权系统自动检查/退群总开关
    • FREQUENCY, 控制授权系统自动检查的频率
    • GROUPS_IN_PAGE, 控制每页显示的群的条数
    • CARDS_IN_PAGE, 控制每页显示的卡密条数
  • 移除配置项目:ALLOW_PRIVETE_CHECK
  • 优化获取全部授权列表时的参数, 大幅降低API调用次数(尤其是在群较多时)

v0.1.2

更新时间:2020年8月18日

本次更新合并了HoshinoAuthorizeSystem的功能

  • 新增退群,广播功能
  • 现在获取已授权群的时时候,会返回群名了
  • 使用指令所需权限不足时均增加了提示
  • 精简了转移授权部分的代码

v0.1.1

更新时间:2020年8月18日

  • 修正#1, 在设置新群使用天数为0时, 自动退群设置不起作用而直接退群
  • 新增指令, 为所有已有授权的群修改时间

v0.1.0

更新时间:2020年8月15日

  • 初版发布

AltStyle によって変換されたページ (->オリジナル) /