Skip to content

使用NapCat做qq机器人

1. 开始安装

下载地址: https://github.com/NapNeko/NapCatQQ/releases

绿色版仅适用Windows.AMD64无需安装QQ, 已内置

下载无头绿色版本, 然后启动Bat即可

如果需要快速启动, 编辑bat NapCatWinBootMain.exe 10001

NapCat.Shell-Win手动启动教程

  1. 前往下载界面

  2. 下载NapCat.Shell.zip解压

  3. 安装完成, 双击目录下launcher.bat即可启动, 如果是win10则使用launcher-win10.bat

    如果需要快速登录, 将qq号传入第二个参数即可

    win11: launcher.bat 123456 win10: launcher-win10.bat 123456

2. 启动qq和NapCat

  1. 解压下载的压缩包

  2. 运行napcat.bat

  3. 扫码登录即可

  4. 编辑napcat.quick.bat, 将参数设为qq号即可快速登录

3. 通过WebUI配置OneBot服务

打开web界面: localhost:6099

1. 新建websocket客户端--网络配置

1741048682652

框选为必要项, 可暂时不启用

其中: url需填写

http
ws://localhost:9000/ws/shiro

/ws/shiro为默认地址, 可自行更改

4. 使用springboot建立websocket服务端

1. 创建napcat-service模块

2. 引入依赖

xml
<!-- 基于OneBot协议的QQ机器人快速开发框架-->
<dependency>
    <groupId>com.mikuac</groupId>
    <artifactId>shiro</artifactId>
    <version>2.3.5</version>
</dependency>

3. 配置文件

yaml
#shiro反向连接(服务端)配置
shiro:
  ws:
    server:
      enable: true
      url: "/ws/shiro" #websocket客户端反向连接url
  plugin-list:
  	#注解方式编写的插件无需在插件列表 plugin-list定义
    #如果前一个插件返回了 MESSAGE_BLOCK 将不会执行后续插件
    - station.one.TestPlugin

4. 编写测试类

java
package station.one;

import com.mikuac.shiro.core.Bot;
import com.mikuac.shiro.core.BotPlugin;
import com.mikuac.shiro.dto.event.message.GroupMessageEvent;
import com.mikuac.shiro.dto.event.message.PrivateMessageEvent;
import org.springframework.stereotype.Component;

/**
 * @author zhangch
 * @version 1.0
 * @date 2025/3/4 05:59
 * @description
 */
@Component
public class TestPlugin extends BotPlugin {
    @Override
    public int onPrivateMessage(Bot bot, PrivateMessageEvent event) {
        System.out.println("收到私聊消息");
        //回复私聊消息
        bot.sendPrivateMsg(event.getUserId(), "你好", false);
        //返回MESSAGE_IGNORE 执行下一个plugin-list插件, 返回MESSAGE_BLOCK 则不执行下一个插件
        return MESSAGE_IGNORE;
    }
    @Override
    public int onGroupMessage(Bot bot, GroupMessageEvent event) {
        System.out.println("收到群消息");
//        if (event.getMessage().contains("你好")) {
//            //发送群消息
//            bot.sendGroupMsg(event.getGroupId(), "你好", false);
//        }
        return MESSAGE_IGNORE;
    }
}

5. 启动项目, 端口9000, 并开启napcat上的webSocketClient

上次更新于:

本站已运行: