Skip to content

Releases: paotuan/qqchannel-bot

v2.0.1

06 Jan 14:59
Compare
Choose a tag to compare

修复牌堆引用失效问题。

可下载新版本

或基于 2.0.0 版本,下载插件 zip 文件,解压至 plugins 文件夹下,覆盖原有文件即可。

v2.0.0

04 Jan 10:03
Compare
Choose a tag to compare

🎲 更新日志

大家久等了,由于下半年工作持续繁忙,只能断断续续做点更新。这次发布 2.0 正式版本,更新内容如下:

  • 支持场景&战斗面板的实时同步

    重构了场景模块的数据同步方式。现在地图与战斗信息保存在数据库中,并支持实时同步。意味着如果你多开浏览器 tab,或把机器人部署在公网,多人同时登录同个频道,可以实时地看到地图的变更。

    在战斗面板新建 NPC/怪物时,若为它们初始化了新的人物卡,人物卡会同时新增在”人物卡“ tab 下,并和玩家人物卡一样支持实时同步。

    注:受重构影响,旧版本的场景数据不再保留。如果有旧的还在使用中的场景,建议先不升级,或升级后手动迁移。

  • 机器人支持发送本地图片

    当图片路径不以 http/https 开头时,视为发送本地图片。格式形如:<img src="logo.png" />

    图片需事先放在指定的目录下:

    • 自定义回复:程序同级目录的 images 文件夹下
    • 插件:插件文件夹目录下
    • 牌堆:与牌堆 JSON 文件同级
  • 支持通过 satori 协议,连接到更多的平台

    较为高阶的功能,使用示例详见文档对应章节

  • 网页多开和刷新后支持自动登录机器人,保留当前的状态

    close #14

    可在左上角菜单中手动退出登录

  • 自定义检定规则支持判断 dnd d20 原值

    自定义检定规则增加 firstD20 变量,代表 dnd 规则中 d20 的掷骰结果,可用于判断暴击/miss 等。示例:

  • 修复配置排序等问题


感谢 九牛、flamingo、茜茜 的发电支持!

请根据自己的操作系统选择对应的文件下载。

v2.0.0-alpha.6

04 Aug 08:27
Compare
Choose a tag to compare
v2.0.0-alpha.6 Pre-release
Pre-release

QQ 群支持

接入方式

在 QQ 开放平台,机器人后台页面中,选择【沙箱配置】菜单。在【QQ 群 ID】选项中选择你要使用的 QQ 群。

在手机 QQ 中,打开 QQ 群的设置页面,找到【群机器人】菜单。点击菜单打开机器人列表,找到你的机器人(通常在列表底部),点击添加即可。

QQ 群的能力限制

由于官方接口能力不足,在 QQ 群中使用机器人会有许多限制之处。请大家在使用前了解以下限制,以提前避免不必要的疑问和困扰。

不支持获取机器人所在群的信息

影响:首次登录机器人时,在频道选择页面,需要用户在群里手动 @ 一次机器人,群的信息才会显示在列表中。且只能获取群的 OpenID,无法获取群名称和头像。

只能监听到用户 @ 机器人的消息

影响:用户必须 @ 机器人才能收到指令。log 记录无法记录没有 @ 机器人的普通消息

机器人无法获取用户的昵称

影响:机器人回复的消息和后台的用户选择器中,用户的昵称默认显示为 OpenID

为了解决这个问题,我们提供了三种方式:

  1. 可以在后台为每个用户单独设置昵称

  1. 用户可以在群内使用 nick 指令设置昵称

  1. 当用户使用 nn 指令关联人物卡时,若用户没有昵称,会将人物卡名称作为用户的昵称

机器人无法获取回复消息和表情表态

影响:无法使用对抗检定和表情表态掷骰

机器人无法获取消息中 @ 其他人的内容

影响:无法使用常规的代骰

替代方案:在 QQ 群中不要直接 @ 他人(蓝字的 @),可以改用纯文本的 @。可以 @ 人物卡名或用户的昵称

注:@ 人物卡名时,目前限制只能 @ 到已关联了玩家的人物卡。后续会优化开发 @ npc 人物卡的功能

机器人回复的消息会开头强制 @ 发送者,且不支持其余的 @

影响:自定义回复和自定义文案中的 {{at用户}} 会被吞。建议使用 {{用户名}}{{人物卡名}} 替代。

机器人私聊需配置白名单

影响:暗骰和私聊机器人需要额外配置才能生效,否则机器人无法向用户发送私信消息。

配置方式:

首先登录 QQ 机器人后台,在【沙箱配置】-> 【在消息列表配置】中添加可以和机器人私聊的用户。

其次,用户在 QQ 中打开机器人的资料卡,点击【发消息】按钮,向机器人发送任意私聊消息。(只有在机器人后台添加了这个用户,才会出现发消息按钮)

完成后检查这个用户的好友列表,在【机器人】tab 下应会出现这个机器人了。只有与机器人成为好友,机器人才可以向用户发消息。若未完成此步骤,机器人发消息会出现 消息发送失败, 无好友关系 错误提示。

机器人私聊主动消息限制每月 4 条,且不支持使用群消息 ID 发送被动消息

影响:暗骰消息容易发送失败。若发送失败(命令行出现 主动消息超过频率限制 等报错),可尝试在私聊中主动向机器人发一条消息,即可在 5min 内再次接收机器人的私信。

v2.0.0-alpha.5

15 Jul 16:18
Compare
Choose a tag to compare
v2.0.0-alpha.5 Pre-release
Pre-release

数据库 & 同步机制重构一期

省流:现在人物卡和配置无需手动点击保存。修改后输入框失焦即会自动保存


修改后的机制允许更细粒度地加载和更新数据,简化操作且降低了修改冲突的概率。

新的数据会使用数据库存储,保存在 db 文件夹下。数据库的内容人类不可读,请勿随意修改。

如需查看内容,可在网页左上角菜单点击【导出数据】按钮导出 zip(暂不支持直接向数据库导入数据)


感谢 一起一起这里那里 的发电支持!

v2.0.0-alpha.4

07 Jul 08:51
Compare
Choose a tag to compare
v2.0.0-alpha.4 Pre-release
Pre-release
  • 修复表情表态掷骰未遵循用户输入的问题

v2.0.0-alpha.3

27 Jun 14:46
Compare
Choose a tag to compare
v2.0.0-alpha.3 Pre-release
Pre-release
  • 修复由于 QQ 文字子频道分组改变,导致创建子频道失败的问题
  • 优化公网 IP 获取

v2.0.0-alpha.2

12 Jun 15:40
Compare
Choose a tag to compare
v2.0.0-alpha.2 Pre-release
Pre-release
  • 修复人物卡未正确保存的问题

v2.0.0-alpha.1

10 Jun 17:34
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release

本次更新主要对项目进行重构,以提升可维护性。涉及到用户的功能改动如下:

  • 支持在机器人登录时创建文字子频道。

由于 QQ 频道改版导致现在难以创建文字子频道。现在我们可以尝试使用机器人 api 进行创建。

  • 私信场景支持使用部分自定义回复。自定义回复的内容读取自默认配置。
    同时插件新增了 sendMessage API,可代替原有的 sendMessageToXXX,自动根据不同场景将回复发送到频道或私信中。

  • 网页 UI 库的更新升级,新增两套新的主题。
    若主题切换功能无法正常使用,请升级浏览器到 Chrome/Edge 的最新版本。

其他:

  • 升级部分底层依赖
  • 项目结构重构为 monorepo

感谢 鹿鹿子、爱发电用户_25285 的发电支持!

v2.0.0-alpha.0

16 Apr 03:16
Compare
Choose a tag to compare
v2.0.0-alpha.0 Pre-release
Pre-release

功能更新:

  • 升级到 QQ 机器人 v2 api(登录需传入 AppSecret)
  • 新增 KOOK 平台支持

  • 支持在自定义回复配置中,使用 <img> 语法发送图片消息

其他:

  • 升级部分底层依赖
  • 开发环境现在需要 nodejs 18+
  • 构建从 ncc 迁移到 esbuild,以提升速度 & 绕过 ncc 不转译第三方库 js 的问题

已知问题:

  • 由于适配缘故,暂时下线重要笔记功能支持
  • 权限相关设置项对 KOOK 平台不起作用
  • 受第三方库影响,暂不支持 Windows7 系统

感谢 兔兔子、爱发电用户_6VXj 的发电支持!

v1.9.0

02 Mar 16:44
Compare
Choose a tag to compare

🎲 更新日志

  • 别名指令增强

别名指令可选择应用范围为【整条指令】,对用户输入进行字符串匹配替换,可适用于任意指令。典型使用场景:

关于别名指令的更多信息,请参考文档相关章节

  • 优化插件的使用体验

新增单独的【插件管理】 菜单,展示当前已安装的所有插件。

安装插件后默认启用,无需手动开启。当关闭插件开关点击保存后,该插件下的所有子功能也一并关闭并隐藏。当开启插件开关点击保存后,该插件下的所有子功能也一并展示并默认开启(插件开发者标记为默认关闭的功能除外)

修改插件代码后可以点击重载按钮,无需重启程序即生效,以方便调试

插件支持让用户修改偏好设置,如自定义插件的文案等。目前系统自带插件的文案均已支持修改。


  • 新增【钩子函数】菜单

钩子函数是一种新的插件类型,允许开发者将逻辑钩入指令解析与掷骰逻辑中,以实现更加丰富和灵活的效果。

在网页后台的钩子函数菜单中,展示了当前已启用插件包含的钩子函数选项,用户可以选择性开启或关闭某项子功能。

如上图,原有的实验性指令设置(除自定义回复支持代骰默认开启外)均已迁移到了钩子函数菜单设置中

  • 新增部分插件,非自带,如有需要可在官网自行下载使用

包括 COC 理智损失播报、潜伏期、疯狂线、buff、故障值等功能。具体参考文档相关章节

  • 新增一种 dnd 人物卡模板的导入支持 #12
  • coc 检定探测到奖励骰时不标记技能成长
  • 灵感功能:更换 api 地址,默认支持流式输出
  • 更新 docker 部署脚本 #13 ,感谢 @monthwolf
  • 修复:简单人物卡检定目标值计算错误的问题
  • 其他内部优化

插件 API 变更 for 开发者:

  • IPluginConfig 新增字段 description,可选,用于【插件管理】菜单的展示
  • IPluginConfig 新增字段 preference,可选,定义用户可在【插件管理】中修改的配置项
  • 插件的每个子功能新增字段 defaultEnabled:是否默认启用功能。可选,默认 true
  • 别名指令配置新增字段 scope:区分应用范围为表达式或整条指令
  • IPluginConfig 新增字段 hooks 用于定义钩子函数
  • 新增 API getPreference 用于获取配置项的当前值
  • 新增 API dispatchUserCommand 用于模拟用户发起一条指令
  • sendMessageToXXX 接口支持跳过指令解析步骤

如有涉及,可在插件文档查阅详细信息。


感谢 爱发电用户_FBme、爱发电用户_64916、爱发电用户_gRWq 的发电支持!

请根据自己的操作系统选择对应的文件下载。