mirai 使用教程

摘要:
现在CoolQ不在了,我们可以从mirai中选择一个机器人框架。与CoolQ相比,Mirai对小白的友好程度不如CoolQ。这就是我写这个愚蠢教程的原因。这篇文章是为完全不会幻想的观众而写的。本教程不推荐用于Windows。先决条件是安装openjdkP.S。如果您仍然使用此系统玩minecraft,请不要下载最新版本的openjdk,否则您的minecraft可能会爆炸。然后进入文件夹并运行命令/Mcl,Mcl将开始加载miriconsole。如果没有发生意外情况,将显示单词“mirai consolestartedsuccessful”,表示加载正常。
前言

众所周知,CoolQ因为腾讯的封杀下架。(悲)

CoolQ 不一定是最好用的机器人框架,但对小白一定是最友好的。

而现在 CoolQ 没了,还有一个机器人框架可供我们选择 —— mirai。

mirai 相对于 CoolQ 来讲,没有 CoolQ 那么对小白友好,这也就是我写这个傻瓜式教程的目的。

ps:不建议非小白的大佬阅读本文。因为您可能会觉得太磨叽了,并且自己做要比按照我来做可能要好。这篇文章的受众对象是自己整不会 mirai 的。

pps:这篇文章使用 ubuntu 20.04 系统。使用其他版本的 ubuntu 应该问题很小。使用其他版本的 linux 可能在安装一些东西上跟本文版本不同。如果是 Windows 的话就不建议阅读这篇教程了(因为差异很大)。

前提准备

安装 openjdk

P.S. 如果您还使用这个系统玩 minecraft 的话,就不要下载最新版本的 openjdk 了,否则您的 minecraft 可能会炸。

访问这个页面,点击 Ready for use 的第一个链接(写这篇文章时是JDK 15,您看到这篇文章可能已经是JDK 16,17了),进入后下载 Linux / x64 版本。(也有可能是 AArch64,依据自己的版本而定。)

下载完这个压缩包后,进入压缩包所在文件夹,执行命令:tar -zxvf [文件名]。(我的文件名是 openjdk-15.0.1_linux-x64_bin.tar.gz

(接下来的指令操作可能需要 root 权限。sudo su root 进入 root 权限)

解压之后,把文件夹移到 /usr 目录下的一个你喜欢的位置。比如我选的是 /usr/lib/jdk。(我解压之后文件夹名就变成 jdk15.0 了)

然后输入命令 gedit /etc/environment。(当然也可以 vim)

追加这样几行:

JAVA_HOME="/usr/lib/jdk/jdk15.0/"
JAVA_PATH="/usr/lib/jdk/jdk15.0/bin/"

(改成你自己的路径)

然后在上边找到 PATH="(里边是环境变量)",在右边的双引号的前面追加 :/usr/lib/jdk/jdk15.0/bin/。(同样,可能要改成你自己的路径)

保存退出,执行指令 source /etc/environment

输入一下 java -version,不出意外的话不会报错,这样 openjdk 就安装好了。

安装 MCL

进入这个链接

下载

mirai 使用教程第1张

解压到一个你喜欢的位置(随便)。

然后进入文件夹,运行命令 ./mclmcl 就会开始加载 mirai console

如果不出意外,出现了 mirai-console started successfully. 的字样,说明加载OK。

但是也有可能出了意外(至少我出了)。意外是这样的:

java.lang.NoSuchMethodError: net.mamoe.mirai.utils.MiraiLogger$Companion.setDefaultLoggerCreator(Lkotlin/jvm/functions/Function1;)V
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.(MiraiConsoleImplementationBridge.kt:99)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:209)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:153)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:152)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:48)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...(此处省略一堆)

解决方案是,编辑 mcl 文件夹中的 config.json,让文件变成这样:

{
  "js_optimization_level": -1,
  "mirai_repo": "https://gitee.com/peratx/mirai-repo/raw/master",
  "maven_repo": "https://maven.aliyun.com/repository/public",
  "packages": [
    {
      "id": "net.mamoe:mirai-console",
      "channel": "nightly",
      "version": "2.0-M1-1",
      "type": "libs"
    },
    {
      "id": "net.mamoe:mirai-console-terminal",
      "channel": "nightly",
      "version": "2.0-M1-1",
      "type": "libs"
    },
    {
      "id": "net.mamoe:mirai-core-all",
      "channel": "nightly",
      "version": "2.0-M1-1",
      "type": "libs"
    }
  ],
  "disabled_scripts": [],
  "proxy": "",
  "log_level": 0,
  "script_props": {}
}

然后奇迹应该就会出现了。

mirai 使用教程第2张

这个时候可以尝试用 mcl 登录一下你的bot。(嗯,不建议用大号,建议将小号作为你的bot哦)

输入 /login bot的QQ号 bot的密码。(如果你想让bot自动登录,可以编辑mcl文件夹下的config/Console/AutoLogin.yml,里边有注释,相信读者可以看懂。)

见证奇迹的时候到了!

mirai 使用教程第3张

mirai 使用教程第4张

试着换用一下常用登录地点。如果已经是常用登录地点或者换了还是不管用,参见https://github.com/project-mirai/mirai-login-solver-selenium

现在机器人框架已经确保正常了,接下来是编写插件的时间。

免责声明:文章转载自《mirai 使用教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nodejs使用pkg打包Puppeteer的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JDK8 的FullGC 之 metaspace

前言: 由于最近写的程序在运行一段时间后出现高cpu,然后不可用故进而进行排查,最终定位到由于metaspace引起fullgc,不断的fullgc又占用大量cpu导致程序最终不可用。下面就是这次过程的分析排查和总结,便于以后温故,同时也希望能给遇到同样问题的同学一些参考。 一 jvm的内存分配情况: Eden Survivor1 Survivor2 Te...

直接下载jdk压缩包方式安装

分为下面5个步骤 1.官网下载JDK 2.检查是否安装jdk,解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK    地址:http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html 选择相应的 .gz包下载 2. 解压...

Java 设计模式六原则及23中常用设计模式

一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访...

Win7(64)+eclipse(64)+tomcat7(64)+jdk7(64)开发环境配置

Win7(64) + eclipse(64)+ tomcat7(64)+ jdk7(64)开发环境配置 一直开发都是用myeclipse,这次尝试了一下eclipse,并且开发工具全部采用最新版本,配置的时候出现了各种各样的问题,总算总结出一个标准步骤,和大家分享一下。 一、到官网下载文件,全部选择for window 64位最新版本 二、安装配置 1、安...

解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。

有时间我会翻译成中文的 Java swing applications' menus do not integrate with Ubuntu's global menu until Ubuntu 15.04. A library calledJayatana is available to enable global menu support for J...

安装安装jenkens报错not a directory on the Jenkins master (but perhaps it exists on some agents)

我配置jenkens的时候,在配置jdk和maven地址的时候,这里的地址填容器中的地址。比如下面这个语句  -v /usr/local/java/jdk1.8.0_181:/usr/local/jdk 下面就填 /usr/local/jdk sudo docker run -d -u root --privileged --name jenkins -p...