前言

改分支版本以及过时,暂时不再维护
请看最新版kotlin教程

因为酷q等机器人的失效,笔者接触到了mirai机器人,但是mirai官方提供的教程等资料不多而且kotlin对于我来说还是有点不方便,因此有了用c++写mirai的想法

类似教程

kotlin mirai

本文git,gitee地址

git github
gitee 码云

c++开发mirai

原理

大概流程

用kotlin(其实也就是java++,本质上和java差不多,不过语法上有差别不过也可以调用java的所有库)调用java的jni库从而调用c++的dll库

但是,为什么不用jna(jni的升级版差不多)呢?我之前也尝试过,因为jna更方便也更简单,但是由于一些莫名其妙的原因(依赖等)就报错不能用了

然后这套系统本质上可以调用任何语言写的dll(应该吧

实现

参考

如何使用

6步即可使用(没有错的情况下)

  1. 下载全部文件(从git或gitee)
  2. c++sdk中编辑你想要的功能(路径:mirai-demo/pch.cpp
  3. 生成dll动态链接库(用vs或其他工具,x86平台,release模式)
  4. 放到miraiok包下的libraries里面(路径:Mirai/libraries
  5. 如果改名或改存放地点了(就没有放到D:/Mirai/libraries/mirai-demo.dll),要到kotline-mirai/CPP_lib.kt里的路径改成你的路径,并且在kotlin编辑器(比如idea)中用gradle中的jar任务重新编译,然后到kotlin_mirai/build/libs文件夹下找到jar文件,复制到mirai/plugin文件夹里面
  6. 运行mirai/miraiOK_windows_386.exe

注意事项

最好不要放有中文的目录下
最好不要放c盘
生成c++的dll要选生成x86 也就是32位的
c++ sdk里全部函数我都有写注释

常见错误

  1. 如果报错 can't find dependents librariesmiraiOK_windows_386.exe里,就要把miraiok/env文件夹下的全部dll文件复制到syswow64文件夹里 如果还是不行,自己下载depends22_x64.zip(也在我的git和gitee里) 把你生成的dll(就在c++那生成的)拖进去,查看你的dll文件依赖,然后在百度下载,复制到你的syswow64文件夹里 ps: c:/windows/syswow64
    (最好也复制一份到C:\windows\system32和miraiok/libraries)
  2. 如果没有加载插件,请看miraiok/olugins下有没有.jar文件,也就是kotlin生成的插件
  3. 如果报错找不到dll,到miraiok/libraries下看有没有.dll文件,也就是c++生成的dll
  4. 其他错误私信我,我尽量解决,不过没有提前百度且无果就不要私信我了

相关群1044565129

-END-

Mirai qq机器人 c++版sdk(即用c++写mirai)的更多相关文章

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

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

  2. Mirai框架qq机器人教程

    Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...

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

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

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

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

  5. QQ机器人

    先说下整体思路1.首先要借助一个QQ 插件,用来接收消息 发送消息2.要用个QQ 小号,这个QQ 你不能用来登,因为他相当于那个机器人3.要借助大神开发的SDK ,就是别人写的底层交互 ,我们只需要关 ...

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

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

  7. 基于WebQQ3.0协议写一个QQ机器人

    最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...

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

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

  9. python实现qq机器人qqbot

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

随机推荐

  1. 基于jaccard相似度的LSH

    使用Python通过LSH建立推荐引擎 LSH:一个可以用来处理成百上千行的算法 前提: Python 基础 Pandas 学完本教程之后,解锁成就: 通过建立shingles 为LSH准备训练集和测 ...

  2. day013|python之模块02&目录01

    1 from...import 1.1 概念 1.1.1 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...

  3. Java并发编程的艺术(六)——中断、安全停止线程

    什么是中断 Java的一种机制,用于一个线程去暂停另一个线程的运行.就是一个正在运行的线程被其他线程给打断,停止运行挂起了. 我觉得,在Java中,这种中断机制只是一种方便程序员编写进程间的通信罢了. ...

  4. RMAN duplicate from active database

    在Oracle 11G有二种方法实现duplicate: 1.Active database duplication 2.Backup-based duplication Active databas ...

  5. Spring(一)--简介

    一.概述(什么是spring): Spring是分层的Java SE/EE应用full-stack(一站式)轻量级开源框架.他解决的是业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统 ...

  6. oranges 笔记第六章

    OS 第六次实验随笔 第六章6.1-6.3相关的问题 进程状态保存与恢复 哪些状态 何时保存 保存在哪 如何恢复 特权级变换 用户进程到内核 内核回到用户进程 再次理解TSS .堆栈 从外环进入内环( ...

  7. npm install 报错解决办法

    npm install 报错解决办法 原因是因为node_modules可能有意外改动,导致依赖库不完整,删除项目下的node_modules,在你的项目目录下,重新执行npm install,这会重 ...

  8. arp欺骗(理论)

    ARP(地址解析协议)在IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址. 一.ARP通讯协议过程 局域网的通信不是根据IP地址进行,计算机是根据mac地址来识别一台机器. 每 ...

  9. Git提交错了不用慌,这三招帮你修改记录

    大家好,今天我们来聊聊git当中一个很重要的功能--历史记录的修改. 有的时候我们会突然发现某个地方需要修改,最常见的某个不应该被提交的文件被提交了进来.我们希望它不只是在后序的版本当中不再出现,而是 ...

  10. 01. Consul 入门

    简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册 ...