QQbot适配器
2025/4/30...大约 4 分钟
安装QQBot-Plugin
- 发送#安装QQBot-Plugin #安装QQBot-Plugin
创建机器人
- 打开QQ开放平台 
- 点击右上角 - 立即注册注册账号 
- 选择 - 企业或- 个人注册 
- 企业注册步骤 
创建账号
激活邮箱
主体认证
绑定管理员
- 个人注册步骤
创建账号
激活邮箱
绑定管理员
- 然后进行创建机器人
设置账号
- 进入 - 机器人管理端
- 进入 - 开发设置 
- 得到 - 机器人QQ号:- 机器人ID[AppID]:- 令牌[Token]:- 机器人密钥[AppSecret]
#QQBot设置机器人QQ号:AppID:Token:AppSecret:[012]:[01]
提示
[012]
0不是群BOT1是群BOT2WebHook
[01]
0频道公域1频道私域
WebSocket登录
添加ip白名单
提示
测试中的机器人无法设置IP白名单,需要上线机器人后才能设置IP白名单

- 输入
#QQBot设置:AppID:Token:AppSecret:1:1
WebHook登录
添加ip白名单
提示
测试中的机器人无法设置IP白名单,需要上线机器人后才能设置IP白名单

- 输入
#QQBot设置:AppID:Token:AppSecret:2
公网配置
提示
需要有公网IP的服务器
- 安装宝塔面板 进入面板添加站点 
- 选择反向代理 
- 选择添加反向代理 
- 填入目标urlhttp://IP:2536
提示
需要放行2536端口 如需修改为其他端口路径config/config/server.yaml 域名需要备案
- 添加发送域名你自己的域名 然后保存 域名需要开启公网HTTPS 进入SSL-Let's Encrypt-申请证书 选择在发送域名填入的域名 申请成功后进行保存  
- 进入机器人管理端 在回调配置-请求地址位置填入域名 填入URL/QQBot
提示
URL是指在反向代理里添加的域名
WebHook转发服务
高阶能力
Markdown 消息
提示
Markdown 消息模板主动不需要dau[上行消息人数]现在无法发送任何形式的主动 Markdown 消息模板被动需要2000dau[上行消息人数] Markdown 原生消息需要10000dau[上行消息人数]
#QQBotMD + 机器人QQ号:模板ID
#QQBotMD + 机器人QQ号:raw
Button 消息
提示
Button 消息可以直接发 Button 原生消息需要10000dau[上行消息人数]
- 前往按钮生成网站
- 按钮js插件示列
export class CustomButtonPlugin extends plugin {
    constructor() {
        super({
            name: '按钮',
            dsc: '发送带按钮的消息',
            event: 'message',
            priority: -100,
            rule: [
                {
                    reg: "^#发$",
                    fnc: 'sendButtonMessage'
                }
            ]
        });
    }
    async sendButtonMessage(e) {
        // 创建纯文本消息
        const textMessage = "这是带有按钮的消息";
        // 定义按钮数据
        const buttonData = {
            type: "keyboard",
            id: "102131063_1733621958", // 按钮模板ID
        };
        try {
            // 发送纯文本消息
            await e.reply(textMessage);
            // 发送按钮消息
            await e.reply(segment.raw(buttonData));
        } catch (error) {
            console.error('发送按钮消息出错:', error);
            await e.reply("按钮消息发送失败,请稍后重试。");
        }
    }
}
ARK 消息
提示
ARK 消息私域可以直接发 ARK 消息公域需要400dau[上行消息人数]
- 大图模板示列[PC端不可见]
export class ArkCardPlugin extends plugin {
    constructor() {
        super({
            name: "ARK 卡片插件",
            dsc: "发送 ARK 卡片消息",
            event: "message",
            priority: 50,
            rule: [{ reg: "^(#|/)?大图$", fnc: "sendArkCard" }]
        });
    }
    async sendArkCard(e) {
        const arkMessage = {
            type: "ark",
            template_id: 37,  // 模板 ID
            kv: [
                {
                    "key": "#PROMPT#",
                    "value": "通知提醒"
                  },
                  {
                    "key": "#METATITLE#",
                    "value": "标题"
                  },
                  {
                    "key": "#METASUBTITLE#",
                    "value": "子标题"
                  },
                  {
                    "key": "#METACOVER#",
                    "value": "https://php.yunzaibot.cn/i/2025/03/28/feyyo0.jpg"
                  },
                  {
                    "key": "#METAURL#",
                    "value": "https://php.yunzaibot.cn/i/2025/03/28/feyyo0.jpg"
                },                   
            ]
        };
        // 发送 ARK 消息
        await e.reply(arkMessage);
    }
}
- 链接文本列表模板示列[PC端可见]
export class ArkCardPlugin extends plugin {
    constructor() {
        super({
            name: "ARK 卡片插件",
            dsc: "发送 ARK 卡片消息",
            event: "message",
            priority: 50,
            rule: [{ reg: "^(#|/)?链接文本列表$", fnc: "sendArkCard" }]
        });
    }
    async sendArkCard(e) {
        const arkMessage = {
            type: "ark",
            template_id: 23,  // 模板 ID
            kv: [
                {
                    "key": "#DESC#",
                    "value": "descaaaaaa"
                  },
                  {
                    "key": "#PROMPT#",
                    "value": "promptaaaa"
                  },
                  {
                    "key": "#LIST#",
                    "obj": [
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          },
                          {
                            "key": "link",
                            "value": "" //这里填自己的链接[需要设置消息URL]
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          },
                          {
                            "key": "link",
                            "value": "" //这里填自己的链接[需要设置消息URL]
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          },
                          {
                            "key": "link",
                            "value": "" //这里填自己的链接[需要设置消息URL]
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          },
                          {
                            "key": "link",
                            "value": "" //这里填自己的链接[需要设置消息URL]
                          }
                        ]
                      },
                      {
                        "obj_kv": [
                          {
                            "key": "desc",
                            "value": "描述"
                          }
                        ]
                      }
                    ]
                  } 
            ]
        };
        // 发送 ARK 消息
        await e.reply(arkMessage);
    }
}
- 文本缩略图[PC端不可见]
export class ArkCardPlugin extends plugin {
    constructor() {
        super({
            name: "ARK 卡片插件",
            dsc: "发送 ARK 卡片消息",
            event: "message",
            priority: 50,
            rule: [{ reg: "^(#|/)?文本缩略图$", fnc: "sendArkCard" }]
        });
    }
    async sendArkCard(e) {
        const arkMessage = {
            type: "ark",
            template_id: 24,  // 模板 ID
            kv: [
                {
                    "key": "#DESC#",
                    "value": "描述"
                  },
                  {
                    "key": "#PROMPT#",
                    "value": "通知信息"
                  },
                  {
                    "key": "#TITLE#",
                    "value": "标题"
                  },
                  {
                    "key": "#METADESC#",
                    "value": "描述"
                  },
                  {
                    "key": "#IMG#",
                    "value": "https://php.yunzaibot.cn/i/2025/03/28/dgw0h6.png"
                  },
                  {
                    "key": "#LINK#",
                    "value": "" //这里填自己的链接[需要设置消息URL]
                  },
                  {
                    "key": "#SUBTITLE#",
                    "value": "子标题"
                  }         
            ]
        };
        // 发送 ARK 消息
        await e.reply(arkMessage);
    }
}
- 小程序模板示列[PC端可见]
export class ArkCardPlugin extends plugin {
    constructor() {
        super({
            name: "ARK 卡片插件",
            dsc: "发送 ARK 卡片消息",
            event: "message",
            priority: 50,
            rule: [{ reg: "^(#|/)?小程序$", fnc: "sendArkCard" }]
        });
    }
    async sendArkCard(e) {
        const arkMessage = {
            type: "ark",
            template_id: 34,  // 模板 ID
            kv: [
                {
                    key: "#DESC#",
                    value: "描述"
                },
                {
                    key: "#PROMPT#",
                    value: "描述"
                },
                {
                    key: "#METATITLE#",
                    value: "描述"
                },
                {
                    key: "#METADESC#",
                    value: "描述"
                },
                {
                    key: "#METAICON#",
                    value: ""
                },
                {
                    key: "#METAPREVIEW#",
                    value: ""
                },
                {
                    key: "#METAURL#",
                    value: ""
                }
            ]
        };
        // 发送 ARK 消息
        await e.reply(arkMessage);
    }
}