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 实现 ...
随机推荐
- CommandLineRunner 可能会导致你的应用宕机停止,我劝你耗子尾汁
hello,大家好,我是小黑,又和大家见面啦~~ 如果你去某度搜索关键词 CommandLineRunner 初始化资源 ,截止小黑同学写这篇推文之前,大概能收到 1,030,000 个结果. 网上大 ...
- js- 实现属性名的拼接 obj['name']
obj.name---->obj[name] 这两种调用方式一样,使用obj.name内部转换成 obj['name'], 使用obj['name']更快. obj['name'] 里面必须是 ...
- Day1-7【Scrum 冲刺博客集合】
Day1-Day7博客链接 Day1[Scrum 冲刺博客] Day2[Scrum 冲刺博客] Day3[Scrum 冲刺博客] Day4[Scrum 冲刺博客] Day5[Scrum 冲刺博客] D ...
- 「IOI2017」西默夫 的一个另类做法
我们发现如果我们有一个环套树的话,那么我们可以把这个环套树去掉每一条环上的边\(e\),问一遍有多少御道在这棵树上.假设删去\(e\)后答案为\(A_e\). 如果答案全部一样,那么说明环上的边都不在 ...
- 题解-Decrease
[MdOI2020] Decrease 古老的博文. 今天巨佬团队 \(\texttt{luogu}\) 公开赛中的第三题,当时我写了好久才想到暴力做法 \(\texttt{42分}\),后来我还很离 ...
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- STL——容器(Set & multiset) insert 的返回值 和 pair 的用法
1. 使用 insert 插入时的返回值: 将一个元素插入 (insert) 到 set 或 multiset 中时,如果插入失败返回的类型是一个 pair 的自定类型,insert 源码如下: in ...
- 【网盘下载加速器】可爆破提取码 加速高达20M以上
[软件名称]:网盘下载加速 [软件版本]:1.0.0 [软件大小]:3.95MB [支持系统]:Android,4.4+及更高版本 [测试系统]:小米 [使用说明]:一款小巧的网盘 ...
- 36个JS特效教程,学完即精通
6个JS特效教程,学完即精通 JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵 ...
- sqli-labs less-7(文件读写)
less-7 dump into outfile(文件读写) 通俗的来讲,就是通过outfile传入一句话木马到网站目录里,然后用菜刀或者蚁剑等连接 过程: 输入id=?判断闭合类型 页面上提示了使用 ...
