Mirai qq机器人ubuntu配置踩坑记录
- intellij配置
- 打包jar
- ubuntu无界面运行
Mirai GitHub 链接 mirai-github
intellij配置
我的是Ultimate 2020.1版本
我创建的是maven项目
一些可能的报错:
Intellij idea 报错:Error : java 不支持发行版本5
创建maven时间过长,IDEA 中修改 maven 镜像源为阿里源方法
添加依赖
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.mamoe</groupId>
<artifactId>mirai-core-qqandroid</artifactId>
<version>1.3.0</version> <!-- 替换版本为最新版本 -->
</dependency>
</dependencies>
1.3.0版本目前可以使用,官网默认代码的0.23.0会下载失败,记得更新为最新版本
写测试代码
public class Test {
public static void main(String[] args) {
long qq=你的qq号;
String password="密码";
final Bot bot = BotFactoryJvm.newBot(qq,password, new BotConfiguration() {
{
fileBasedDeviceInfo("deviceInfo.json");
}
});
bot.login();
}
}
之后qq会提示扫码验证点击链接扫码验证设备,验证一次以后就不用再验证了。
更多的功能请看github官方文档 mirai-github
运行后可能会出现 “java 不支持发行版本5”的错误,解决方法参考上面链接
登录成功! 之后接收的消息会在命令行中打印出来。
打包jar
为了使程序能够在ubuntu上独立运行,需要打包jar包
File->project structure
点击build artifacts
之后会生成 ‘Project’ \out\artifacts\MiraiMaven3_jar\MiraiMaven3.jar
尝试
java -jar 你的jar包
如果此时的jar还不能直接运行,提供一些可能的报错解决办法
- “java.lang.SecurityException: Invalid signature file digest for Manifest main attribute
删除META-INF目录下的*.SF,*.DSA,*.RSA文件删除 - 没有主清单属性
修改jar包中的META-INF下的MANIFEST.MF文件,如果是在src下直接创建的java文件,在本代码示例中为
Main-Class: Test
再次测试
java -jar x.jar
,理论上能正常运行
ubuntu无界面运行
在windows上验证码是用java的图形界面弹出的,ubuntu上mirai会把验证码图片存在机器上,根据它提示的路径找到这个文件,建议使用filezilla等ftp软件查看,filezilla和ftp用法本文不再介绍。如果有别的办法看到图片也行。
成功截图