本教程代码部分已经过时,为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. scrapy爬虫登录edusrc查看漏洞列表

    scrapy登录界面的难点在于登录时候的验证码,我们通过使用scrapy.FormRequest向目标网站提交数据(表单提交),同时将验证码显示在本地,手动输入,进而登录. 验证码是类似于这种的,才可 ...

  2. redis学习之——五大基本数据类型

    redis 键 (key) 基本数据类型:string 字符串 list (列表)  set(集合)  hash(类似java 中的Map)   zset(有序集合) 官方命令doc redis 键 ...

  3. C++ 虚函数表与多态 —— 继承的虚函数表 & 内存布局

    1. 使用继承的虚函数表: 如果不涉及多重继承,每个类只有1个虚函数表,当子类继承父类后,子类可以自己改写和新增虚函数,如下图所示: 子类重写 func_1 后,子函数的 func_1 将会有新的逻辑 ...

  4. 前端面试题CSS-div宽度设置为100%,设置属性margin-left和margin-right时出现的问题

    前端面试题CSS-div宽度设置为100%,设置属性margin-left和margin-right时出现的问题 div格式如下 <div class="a"> < ...

  5. Pytest 学习(二十五)- 解决pytest参数化测试标题都一样问题

    前言 使用参数化测试化后,allure的报告如下显示: 源代码如下: # -*- coding: utf-8 -*- # @Time : 2020/12/13 17:27 # @Author : lo ...

  6. MySQL PXC集群安装配置

    1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...

  7. HBase按照TimeStamp删除数据

    #!/bin/bash #两种时间输入,一种是输入起始日期,另一种是直接输入hbase里面数据的起始时间戳 if [ $# != 5 ];then echo 'usage:sh byTimestamp ...

  8. java基础:详解类和对象,类和对象的应用,封装思想,构造方法详解,附练习案列

    1. 类和对象 面向对象和面向过程的思想对比 : 面向过程 :是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的 面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能 1. ...

  9. Python将word文档批量转PDF

    前面有一篇<Python批量创建word文档(2)- 加图片和表格>的文章,利用这篇文章创建的word文档来批量转PDF文档.代码: 1 ''' 2 #python批量将word文档转换成 ...

  10. Mysql实现定时清空一张表的旧数据并保留几条数据

    要达到如下目的: Mysql数据库会每隔一段时间(可以是2小时,也可以是一天,这个可以自定义),定时对一张库中的表做一个判断,如果这张表的数据超过了20条(这个数据也是自定义的,也可以是200条),就 ...