本教程代码部分已经过时,为2.0-M1版!!!
请阅读新版2.0-M2版的教程

官方的框架教程 官方启动器教程

0.前言

目前mirai项目官方已经停止维护并且好像删库了? 但是由于其开源性质,有很多clone的库在github上
c++版github地址:点我

kotlin版github地址:点我

c++版教程csdn:点我
温馨提示:请勿使用qq机器人做非法的事情

1. 安装Java

最低1.8,推荐15
推荐下载openjdk而不是甲骨文的,不然mirai-console-loader会报错

自行百度(以后如果有时间回来补教程)
记得配置环境变量
如何检测成功安装: 按Win+R>输入cmd 然后回车-> 输入java -version

2.安装Mirai启动器

mirai目前启动器有2个(详情)

  1. MiraiOk是一个安装MiraiOK的一键安装包
    最新官方及全版本Github下载地址(里面readme.md里面有下载整合包地址)(最近github下载好像提速了,我就不另外传到国内网盘了,如有需要评论区说)
  2. 推荐用mirai-console-loader

本文作者windows版本备份(使用旧框架的miraiok和新框架的mirai-console-loader)

3.下载IDEA或其他编译器

从搜索引擎搜索官网进去下载
或者用其他编辑器也可以

4.创建mirai-console插件项目

该插件可以让你快速生成mirai项目
Step1: 在IDEA中按快捷键ctrl+alt+s或者点击File->Setting
Step2: 找到里面的Plugin
Step3: 在Marketplace里面搜索MiraiKotlin 安装

但是,笔者在IDEA 2020.2版本中无法安装插件或新建项目没mirai的项目,如果有这种情况,有3种解决方法

  1. 笔者的库下载生成好的项目,并自己修改信息(旧版的kotlin框架)

  2. 感谢网友提醒,这种情况下也可以手动下载插件然后导入插件从而安装
    github下载地址

  3. 用官方提供的例子(新的kotlin框架)

4.1 通过git创建

如果是用github上的项目创建,那就从github上下载,然后用IDE打开整个文件夹就好了

4.2 通过插件创建项目

Step1 就像正常创建项目一样,File->New->Project

Step2 选mirai-console,这里随便填(不知道的尽量不改,推荐语言kotlin,博主搞了半天的java版还是没用)然后next

Step3 两个id随便写,包管理器建议这样配置,然后next

Step4 随意

5.解决代码报错

如图 创建项目好后会呈现这样子

这个时候你们的代码会报错,显示找不到包,这是gradle依赖出问题了
请自行到上方有写的作者储存库里复制build.gradle的内容并忽略以下内容
Step1 打开build.gradle
添加和删除如图,其他不变

implementation(“net.mamoe:mirai-core-qqandroid:1.1.3”)
compile fileTree(dir:’/jars/’,includes: [’*.jar’])


Step2 在根目录下创建jars文件夹,如图

Step3 把miraiok下的content下的第一个.jar文件复制到jars文件夹下,如图

然后就解决了。

6. miraiOK结构


从上往下依次是
开发SDK(也就是依赖库)
jre1.8.0_252 也就是java运行环境
不知道干什么的空文件夹
运行日志
插件目录(gradle生成jar后复制到这)
不知道干什么的空文件,应该是控制版本
不知道干什么的xml文件
配置文件
虚拟设备信息(qq协议用)
一个库
主程序(点击运行机器人)

7.mirai 旧版kotlin代码例子解析


reply即为回复方法,如
"HI" reply("X")

if(message.toString()=="HI")reply("X")

一个道理

8.官方开发文档

Github点击查看
码云点击查看

9. 一个简单的kotlin例子

github查看地址
码云

10. 用gradle生成插件文件(.jar)

Step1 点击侧边栏的gradle

Step2 双击jar任务

Step3 在lib目录下找到.jar文件
Step4 把这个jar文件复制到miraiok的plugins目录下
ps:这个文件夹是运行后生成的

Step5 运行mirai

11.在mirai中已有的一些插件

不能确定能不能用
Github跳转
码云

一些tips

  • 在MiraiOK的文件夹下的config.txt可以设置自动登录
  • 在plugin.xml可以改项目信息

有什么评论区问,以后再补充
应该没有人和我一样半夜2点写教程吧(笑

此外 可以来找我机器人玩啊(qq号:481784853)
相关群 1044565129

-End-

Mirai框架qq机器人教程的更多相关文章

  1. Mirai框架qq机器人教程 新版

    Mirai框架qq机器人教程 新版 前言 资料列表 1.准备 i. 配置java环境 ii. 配置IDE iii. 下载mirai-console-loader(mcl)作为启动器 2.创建mirai ...

  2. Python+mirai开发QQ机器人起步教程(2021.9.9测试有效)

    参考:开发 mirai QQ机器人起步教程_叹之-CSDN博客_mirai python 本篇文章参考了以上博客,并对其中的失效内容和版本匹配问题进行了补充修改,实测能够成功运行.部分步骤的运行截图见 ...

  3. 使用 GO-CQHttp或mirai框架 搭建QQ的机器人

    我的博客 Go-CQHttp搭建QQ机器人 官方文档在这-->ATRU官方文档 Go-CQHttp + Atri 使用Linux系统部署 需求 服务器一台/带有Linux的机器 Python环境 ...

  4. Mirai qq机器人 c++版sdk(即用c++写mirai)

    Mirai机器人c++版 前言 类似教程 本文git,gitee地址 c++开发mirai 原理 大概流程 实现 如何使用 注意事项 常见错误 前言 改分支版本以及过时,暂时不再维护 请看最新版kot ...

  5. 体验 QQ机器人C# SDK 1.X 特性总结

    主要特性 依赖注入 框架本身采用 Autofac 作为依赖注入框架.进行插件开发时,必然会使用到该框架.建议开发者阅读官方文档熟悉其用法.https://autofac.readthedocs.io/ ...

  6. 使用C# 开始第一个QQ机器人

    本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...

  7. NoneBot+酷Q,打造QQ机器人

    NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...

  8. 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码

    新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译 ...

  9. python实现qq机器人qqbot

    title: python实现qq机器人qqbot tags: python date: 2018-6-1 10:19:00 --- 以下内容为转载 一.介绍 qqbot 是一个用 python 实现 ...

随机推荐

  1. 上传到github

    我是为了自己下次不用再找github上传的地方了,索性就复制了一篇 转载于 https://blog.csdn.net/m0_37725003/article/details/80904824 首先你 ...

  2. Mac开发必设置的Finder设置项,你设置了吗?

    1.显示标签页.显示路径栏.显示状态栏的设置位置,在访达->显示-> 显示状态栏 个人三个都设置了,但是觉得显示状态栏用的并不多,反而多一行,下面是显示状态栏的效果,主要可以一眼看出有多少 ...

  3. Jenkins Job间传递参数的一种方法

    场景: Jenkins 中可以建多个Job,一般是主编译Job,多个子Job. 子Job要用主Job中的版本号,编译号. 1)  在主Job里面添加脚本命令: echo set MainVersion ...

  4. 半夜删你代码队 Day5冲刺

    一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 跟进作业 完成注册界面 相关界面设计内容知识不充足 侯晓龙 开始双人合作 开始与数据库结合 无 周楚池 初步完 ...

  5. 微信小程序template和组件

    template主要是展示,主要是在调用的页面中定义.用import方式引入,然后去使用,通常是单独建立一个文件夹 去管理,文件夹有两个文件wxml和wxss,wxml中 可以定义多个template ...

  6. 【学习笔记】浅析平衡树套线段树 & 带插入区间K小值

    常见的树套树 一般来说,在嵌套数据结构中,线段树多被作为外层结构使用. 但线段树毕竟是 静态 的结构,导致了一些不便. 下面是一个难以维护的例子: 带插入区间 \(k\) 小值问题 来源:Luogu ...

  7. DBeaver连接MySQ报错

    遇错情况:第一次使用DBaver连接MySQL遇到以下问题: 报错信息:Public Key Retrieval is not allowed 截图如下: 解决方案步骤: 一.已有连接的情况:F4或者 ...

  8. ant-design 基础格式

    1 格式 <template> <div> <center><h1>这是·注册页面</h1></center> <a-fo ...

  9. DRF框架笔记

    序列化器类的定义格式? 继承serializers.Serializer:字段 = serializers.字段类型(选项参数) 序列化器类的基本使用? 序列化器类(instance=None, da ...

  10. MySQL数据库死锁分析

    背景说明: 公司内部一套自建分布式交易服务平台,在POC稳定性压力测试的时候出现了数据库死锁.(InnoDB引擎)由于保密性,假设是app_test表死锁了. 现象: 发生异常:Deadlock fo ...