有无佬做一个适配qq官机推主动ark消息的插件

附上相关文档
ARK 消息 | QQ机器人文档
24 文本+缩略图模板 | QQ机器人文档

2 个赞

你可以尝试使用 @shangxueink/qq-markdown-button 插件

搭配其中的主动广播功能使用:


你可能需要参考的相关文档:(就是你给的地址。但你必须通读且掌握,否则无法自主使用 且 编辑调试本插件。)


被动ARK,是这样的效果

3727dfc21ee83f8af9edc69943334ba3

相关配置:

raw_markdown.json:

{
    "msg_type": 3,
    "msg_id": "${session.messageId}",
    "ark": {
        "template_id": 37,
        "kv": [
          {
            "key": "#PROMPT#",
            "value": "通知提醒"
          },
          {
            "key": "#METATITLE#",
            "value": "标题"
          },
          {
            "key": "#METASUBTITLE#",
            "value": "子标题"
          },
          {
            "key": "#METACOVER#",
            "value": "https://vfiles.gtimg.cn/vupload/20211029/bf0ed01635493790634.jpg"
          }
        ]
      }
}

不过注意

主动消息,与被动消息的发送格式和内容可能有所不同。

并且我所给的示例是原生md的,DAU不足的话可能还需要处理一下图片URL的白名单什么的。

首要的是,你需要参考QQ开放平台的文档以确保格式正确。

如需测试,你可以先写好 被动调用 的json内容之后,去除掉json其中的messageId内容以变成主动消息。然后在群里进行指令调用(就像被动调用一样),但实际发的是主动消息。

由于在一个群里,一个月只有四次主动消息的机会,所以如果你觉得测试机会不够可以多拉几个群测试(如果是全量公域并且已经上线了的话)




广播案例:

使用机器人:

  • 公域全量机器人,且已经上线
  • 具备markdown功能
  • 拥有markdown模板和json按钮模板
  • 有上千个QQ群的用户规模

注意注意:开启调试日志模式的话,广播模式下 日志会刷个不停,因此建议新开实例来使用广播,以确保不影响正常生产模式的功能运行。

因此 如果你是打算不影响生产环境运行,而单独开一个实例来主动推送,请确保数据库内有足够多的群组数据!!!(最好是把生产环境的数据库直接覆盖过来进行推送。)

image


主动消息效果预览:

所使用的 markdown.json 内容:(因为是主动消息,所以dau不足2000,也是可以发模板markdown和模板按钮的)

{
    "msg_type": 2,
    "markdown": {
        "custom_template_id": "${config.markdown_id}",
        "params": [
            {
                "key": "text1",
                "values": [
                    "塞西莉亚来啦!"
                ]
            },
            {
                "key": "text2",
                "values": [
                    "请大家多多使用我的功能哦~"
                ]
            },
            {
                "key": "img",
                "values": [
                    "![img#500px #500px]"
                ]
            },
            {
                "key": "url",
                "values": [
                    "(https://i0.hdslb.com/bfs/article/afc31d0e398204d94478473a497028e6352074746.gif)"
                ]
            }
        ]
    },
    "keyboard": {
        "id": "${config.json_button_id}"
    }
}

本插件的具体 配置项搭配:

注意注意:开启调试日志模式的话,广播模式下 日志会刷个不停,因此建议新开实例来使用广播,以确保不影响正常生产模式的功能运行。


相关日志内容:

广播+日志调试模式,会让控制台很卡顿(

最终打印:QQ 群组频道广播消息发送完成。


可以看到日志有不少报错。

嘛,一般你通过指令测试主动消息正常了之后,只需要开启【广播】选项,然后再次触发指令。即可开始正常广播了。

这里的日志的报错都是一些常见报错:

  • 机器人曾经在群里,但现在被移出群了,只是数据还在你的数据库里
  • 该群不接收主动消息
  • 该群禁言(?
2 个赞

谢谢,我去尝试一下

2 个赞