Mirai框架qq机器人教程
Mirai框架qq机器人教程
本教程代码部分已经过时,为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个(详情)
- MiraiOk是一个安装MiraiOK的一键安装包
最新官方及全版本Github下载地址(里面readme.md里面有下载整合包地址)(最近github下载好像提速了,我就不另外传到国内网盘了,如有需要评论区说) - 推荐用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里面搜索Mirai和Kotlin 安装

但是,笔者在IDEA 2020.2版本中无法安装插件或新建项目没mirai的项目,如果有这种情况,有3种解决方法
到笔者的库下载生成好的项目,并自己修改信息(旧版的kotlin框架)
感谢网友提醒,这种情况下也可以手动下载插件然后导入插件从而安装
github下载地址用官方提供的例子(新的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.官方开发文档
9. 一个简单的kotlin例子
10. 用gradle生成插件文件(.jar)
Step1 点击侧边栏的gradle

Step2 双击jar任务

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

Step5 运行mirai

11.在mirai中已有的一些插件
一些tips
- 在MiraiOK的文件夹下的config.txt可以设置自动登录

- 在plugin.xml可以改项目信息

有什么评论区问,以后再补充
应该没有人和我一样半夜2点写教程吧(笑
此外 可以来找我机器人玩啊(qq号:481784853)
相关群 1044565129
-End-
Mirai框架qq机器人教程的更多相关文章
- Mirai框架qq机器人教程 新版
Mirai框架qq机器人教程 新版 前言 资料列表 1.准备 i. 配置java环境 ii. 配置IDE iii. 下载mirai-console-loader(mcl)作为启动器 2.创建mirai ...
- Python+mirai开发QQ机器人起步教程(2021.9.9测试有效)
参考:开发 mirai QQ机器人起步教程_叹之-CSDN博客_mirai python 本篇文章参考了以上博客,并对其中的失效内容和版本匹配问题进行了补充修改,实测能够成功运行.部分步骤的运行截图见 ...
- 使用 GO-CQHttp或mirai框架 搭建QQ的机器人
我的博客 Go-CQHttp搭建QQ机器人 官方文档在这-->ATRU官方文档 Go-CQHttp + Atri 使用Linux系统部署 需求 服务器一台/带有Linux的机器 Python环境 ...
- Mirai qq机器人 c++版sdk(即用c++写mirai)
Mirai机器人c++版 前言 类似教程 本文git,gitee地址 c++开发mirai 原理 大概流程 实现 如何使用 注意事项 常见错误 前言 改分支版本以及过时,暂时不再维护 请看最新版kot ...
- 体验 QQ机器人C# SDK 1.X 特性总结
主要特性 依赖注入 框架本身采用 Autofac 作为依赖注入框架.进行插件开发时,必然会使用到该框架.建议开发者阅读官方文档熟悉其用法.https://autofac.readthedocs.io/ ...
- 使用C# 开始第一个QQ机器人
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...
- NoneBot+酷Q,打造QQ机器人
NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...
- 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码
新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译 ...
- python实现qq机器人qqbot
title: python实现qq机器人qqbot tags: python date: 2018-6-1 10:19:00 --- 以下内容为转载 一.介绍 qqbot 是一个用 python 实现 ...
随机推荐
- MySQL Docker容器实例创建并进入MySQL命令行
首先需要明白的一点是: docker镜像是一个模版,docker容器是一个实例,它可以被启动与关闭. 我们需要先有MySQL的docker镜像,使用命令: docker pull mysql 拉取最新 ...
- python+eclipse 引用 import requests报错解决。
用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install ...
- AGC039D 题解
题目描述 给定在笛卡尔坐标系的单位圆上的\(N\)个点(圆心为\((0, 0)\)).第\(i\)个点的坐标为\((cos(\frac{2 \pi T_i}{L}), sin(\frac{2 \pi ...
- 题解-CTS2019 珍珠
题面 CTS2019 珍珠 有 \(n\) 个在 \([1,d]\) 内的整数,求使可以拿出 \(2m\) 个整数凑成 \(m\) 个相等的整数对的方案数. 数据范围:\(0\le m\le 10^9 ...
- 题解-洛谷P4859 已经没有什么好害怕的了
洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...
- SpringBoot添加多数据源mysql和oracle
项目结构 多数据源配置文件 MultiDataSourceConfig.java SqlSessionTemplate1.java SqlSessionTemplate2.java package c ...
- STL——容器(Set & multiset)的默认构造 & 带参构造 & 对象的拷贝构造与赋值
1. 默认构造 set<int> setInt; //一个存放int的set容器. set<float> setFloat; //一 ...
- IOS实现自动定位和手动选择城市功能
IOS自动定位使用的是高德地图SDK 在高德开放平台http://lbs.amap.com/api/ios-sdk/down/ 下载2D地图SDK和搜索SDK 将SDK导入工程内 按照高德的配置说明进 ...
- vue在html使用
1.Vue: 定义:渐进式JavaScript框架 渐进式: 定义:声明渲染 组件系统 客户端路由 集中式状态管理 项目构建 2.MVVM 定义 M Model(服务器上的业务逻辑操作) V View ...
- 微服务之服务治理_Eureka
首先需要明确,不管是什么事物需要"治理",那一定是该事物存在一定问题.比如环境治理.那么服务,或者说微服务为什么需要治理?对于服务来说,如果它承担的业务职责简单,那其实治理的必要性 ...
