Skip to content

常见问题

价格

一年 800 元

使用机器人需要准备什么?

一台能跑程序能联网的计算机, 需要一直运行机器人程序

硬件要求 至少 1G 内存空间 至少 1G 存储空间

系统要求 Windows8.1Windows Server 2012 及以上

一个 QQ 小号, 最好有等级 用自己的 QQ 小号, 安全又稳定, 不存在多人共用, 不会修改签名资料自主可控

使用后需要注意的

  • 尽量避免更换环境 (更换服务器或 ip), 无法保证可以选择找代买服务器(150元/年), 自己购买 99元/年
  • 更换服务器记得备份资料
  • 尽量选择等级高一点的QQ
  • 之前使用过其他框架需要提前告知

机器人怎么用?

这个不用担心, 可以远程帮部署好, 最好语音教你怎么使用, 部署 10 分钟, 教学 15 分钟, 轻松拿下

功能都是按需使用, 用不到的功能可以关闭

如何启动?

机器人完整运行需要两个独立程序, 无先后启动顺序

  • 机器人本体 / 悠悠 / mxdbot (提供业务处理能力)

  • 协议端 (提供与 QQ 消息收发等接口调用)

直接双击 start.bat 就可以启动

没有 start.bat启动了旧版本

点击 启动器(starter)生成并启动 会自动生成并保存一份 start.bat

协议端启动

无固定方式, 以部署时为准

如何查看或修改网页管理端密码?

寻找机器人安装的文件夹, 使用 notepad++ 打开 application.yml 文件

打开 /config/application.yml, 修改 password 的值

提示

修改密码需要重启程序生效

半角冒号后面需要有一个空格, 含特殊字符的密码可以用 '" 包裹起来

出现 登录繁忙

密码多次输入错误, 重启程序

如何更新? (强烈不建议自行更新)

先打开 启动器(starter) 再点击 更新

下载更新完成后, 点击 生成并启动 即可 (重新生成启动脚本)

提示

不同版本差异较大, 更新后可能导致无法正常工作, 更新前 问问客服协助更新

换群

切换主副群

切到哪个群, 哪个群才会生效

目录结构

config
.
├─ adapter              适配器
│  └─ ...
├─ config
│  ├─ application.yml   配置文件    
│  └─ data.db           数据库文件    
├─ files                文件
│  ├─ upload            来自上传的文件      
│  └─ ...               
├─ modules              模块
│  ├─ commander                  
│  └─ ...               
├─ objects              对象 (通常是 json)
│  └─ ...               
├─ plugins              插件的配置和数据
│  └─ ...                  
├─ mxdbot-*.*.*.jar     主程序
├─ starter.exe          启动器
└─ start.bat            启动脚本

配置文件

文件位置 /config/application.yml

yml
adapter: NapCat                   # 适配器名称  
password: 886521                  # 后台登录密码, 强烈建议修改, 5 次输入错误系统禁止再次登录 
open-api:                  
  whitelist:                      # openapi 允许调用地址  
    - 127.0.0.1
    - 0:0:0:0:0:0:0:1
  charset: UTF-8                  # 编码  
server:
  port: 9600                      # 端口, 默认9600

提示

不同层级一定用空格对齐, 而不是 tab, 半角冒号后面一定要有一个空格

不正确的配置格式会导致程序无法启动

端口占用

程序会默认占用 9600 端口

网页管理端的网址是什么?

本地访问 http://127.0.0.1:9600/static/web/index.html

外网访问 http://{外网ip}:9600/static/web/index.html

假如你的服务器 ip81.16.7.22 就访问 http://81.16.7.22:9600/static/web/index.html

提示

https 协议是访问不了的, 有些浏览器会隐藏协议

/static/web/index.html 是必须增加的, 这是有必要的

如何安装成 App

Edge 浏览器 - 设置 - 应用 - 将此站点作为应用安装, 创建完成后, 添加桌面快捷方式

图片教程

接收消息推送的地址是什么?

http://127.0.0.1:9600/bot/event

JavaScript ES

只支持部分 ES6

配置文件内置 key 解释

master 机器人的管理者 QQ, 不是机器人 QQ, 部分插件需要权限

group.main 主群号

group.test 测试群号

group.current 当前启用群号, 在 工具 面板可快速切换, 无需配置

提示

没有群就新建一个

回复中的 普通模式 脚本模式

普通模式下机器人会直接发送内容的文本

脚本模式下不会直接发送内容, 而是会执行内容中的脚本

可以利用 bot 对象发送消息, 撤回等操作

利用脚本模式撤回消息

js
function action(event) {
    bot.recall(event.messageId)
}

脚本模式返回值的说明

采用 责任链 模式, 每个脚本依次按顺序执行, 当脚本返回 false 时, 结束整个 责任链

返回 true 则继续交给下一个脚本 / 回复

默认返回 false

如何发送本地图片? 为什么要发送本地图片?

发送本地图片, 可以保持图片的可靠性, 超链接容易失效

<image file="file:///本地图片路径">

路径中可以用 @ 代替工作目录

<image file="file:///@/files/img.png">

消息中特殊字符转义 < > &

<> 所包裹的内容, 将被系统转换成有意义的内容

想输出真正的 <>, 需要对其转义, & 也需要转义

  • 使用 &lt;&#60; 代替 <
  • 使用 &gt;&#62; 代替 >
  • 使用 &amp;&#38; 代替 &
  • 使用 &lsb;&#91; 代替 [
  • 使用 &rsb;&#93; 代替 ]
  • 使用 &lcub;&#123; 代替 {
  • 使用 &rcub;&#125; 代替 }

mysql 创建指定 ip 的用户

sql
-- 创建用户 ip 地址必填 
CREATE USER 'bot'@'{{ip地址}}' IDENTIFIED BY '密码';
-- 赋予查询, 新增, 删除, 修改权限
GRANT SELECT, INSERT, DELETE, UPDATE ON *.* TO 'bot'@'{{ip地址}}';
-- 刷新
FLUSH PRIVILEGES;
有限的权限
sql
-- 创建用户 ip 地址必填 
CREATE USER 'bot'@'{{ip地址}}' IDENTIFIED BY '密码';
-- 赋予查询权限
GRANT SELECT ON *.* TO 'bot'@'{{ip地址}}';
-- 授予 item_warehouse 表的新增权限
GRANT INSERT ON *.item_warehouse TO 'bot'@'{{ip地址}}';
-- 授予 verification_code_pool 表的修改和新增权限
GRANT UPDATE, INSERT ON *.verification_code_pool TO 'bot'@'{{ip地址}}';
-- 授予 accounts 表的修改和新增权限
GRANT UPDATE(password), INSERT ON *.accounts TO 'bot'@'{{ip地址}}';
-- 刷新
FLUSH PRIVILEGES;

连接远程数据库教程 https://www.bilibili.com/video/BV1SC3vzFEbf/

mxdbot/config/application.ymlopen-api.whitelist 最好也要新增调用者 ip

怎么发送 QQ 表情?

在群里发一个表情, 看看消息面板, 怎么收到的就怎么发, 嘿嘿😝

怎么发送 at 全体?

<at user-id="all">bot.at('all')

机器人不正常工作了, 如何排查?

机器人完整运行需要 2 个程序, 是否都正常工作? 蓝窗口(mockqq) 黑窗口(mxdbot)

蓝窗口负责与 QQ 通讯, 黑窗口负责具体功能

2个程序/终端是否被阻塞住了(特征是终端标题是否存在 选择 选中 选定 标记 几个标签)?

点击窗口, 按一下回车键, 即可解除阻塞状态

蓝窗口(mockqq)QQ 是否下线了? 黑窗口(mxdbot) 是否到期了?

Q群里发一条消息, 蓝窗口(mockqq) 黑窗口(mxdbot) 终端是否打印新的消息?

Q群管理后台的工具里, 当前群 是否正确? 发一条消息消息面板是否能显示新的消息?

QQ机器人是否在群里? QQ机器人是否被禁言? 当前Q群是否为全体禁言? QQ机器人是否把群消息屏蔽了?

如果是在测试功能, 查看该功能是否开启?

例: 如果用 签到 功能, 检查 签到 插件是否开启?

回复有报错, 查看要回复的内容是否包含 < > & 这三个字符?

应该为三个字符进行转义, 对应转义为 &lt; &gt; &amp; (&和;都是要有的)