java做个qq机器人

前置的条件

机器人是基于mirai框架实现的。根据官方的文档,建议使用openjdk11。
我这里使用的编辑工具是idea2023

在idea中新建一个maven项目,虽然可以使用gradle进行构建,不过我这里由于网络问题没有跑通。
pom.xml

<dependency>
            <groupId>net.mamoegroupId>
            <artifactId>mirai-core-jvmartifactId>
            <version>2.15.0version>
        dependency>

机器人的启动

这里我们写一个启动类(用junit也行,用main方法也行),来启动我们的机器人。这里我推荐使用二维码登录,使用账号密码登录容易被风控,而且目前qq还有安全监测,用账号密码不是很方便

 // 在 2.15.0 中加入, 使用二维码登录Bot bot = BotFactory.INSTANCE.newBot(qq, BotAuthorization.byQRCode(), configuration -> {
            configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_WATCH);
        });
        bot.login();

登录后,qq里发送消息看到如图的信息,说明启动成功,可以正常接收数据。
java做个qq机器人_第1张图片
java做个qq机器人_第2张图片

文字的收发

如上面所说,可以收到信息了,理论上就可以发送信息。

GlobalEventChannel.INSTANCE.subscribeAlways(GroupMessageEvent.class, event->{

            event.getSubject().sendMessage("hello  world");

        });

机器人启动后,写入这一段。这段代码会自己监听不同的QQ会话(群聊、私聊),并根据编写的内容做处理,sendMessage,发送的是mirai机器人封装的一个数据包,可以是文字,可以是图片。鉴于这篇文章是一个大概,后续我会把图片的信息、at的信息做一个整理。(也是我目前已经打通的部分。)

你可能感兴趣的:(java,机器人)