mirai机器人 linux,GitHub - Nambers/MiraiCP: c++ SDK of Mirai

欢迎来到MiraiCP

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f4e616d626572732f4d69726169435068747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f4e616d626572732f4d69726169435068747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f4e616d626572732f4d69726169435068747470733a2f2f696d672e736869656c64732e696f2f746f6b65692f6c696e65732f6769746875622f4e616d626572732f4d697261696370

Tips~

如有意向一起开发本项目,请联系我邮箱(1930893235@qq.com) ( ̄▽ ̄)"

使用声明

MiraiCP是一个Mirai 的C++语言的社区SDK,基于Mirai-console和Mirai-core插件模板开发

本项目仅供学习参考,禁止用于任何商业用途(根据Mirai的AGPLv3许可协议开源)。

本项目不含有任何旨在破坏用户计算机数据和获取用户隐私的恶意代码,不含有任何跟踪、监视用户计算机功能代码,不会收集任何用户个人信息,不会泄露用户隐私。

本项目不提供任何具体功能实现,仅仅只是对项目mirai-console和mirai-core(详见mirai仓库)的二次封装。

任何单位或个人认为本项目可能涉嫌侵权,应及时提出反馈,本项目将会第一时间对违规内容给予删除等相关处理。

关于MiraiCP

支持的事件

这些内容可以在Config.kt看到

事件名称

函数名称

群聊消息

GroupMessageEvent

私聊消息

PrivateMessageEvent

好友申请

NewFriendRequestEvent

群聊邀请

GroupInviteEvent

新群成员加入

MemberJoinEvent

群成员离开

MemberLeaveEvent

消息撤回

RecallEvent

定时事件执行

SchedulingEvent

本项目设计流程结构 intro.md

Mirai支持的qq表情(对应miraicode的face)对应序号 faces.md

使用流程:

1 配置环境

mirai需要openjdk而不是甲骨文的jdk,如下载openjdk15/openjdk11

2 注意事项

MiraiCP版本规则: 从2.2.0开始 (2021/1/31),版本前两位为Mirai的版本,后一位为SDK更新迭代版本

因为JNIEnv是局部变量,不了解jni请勿在SDK中使用多线程,如果要使用多线程的话,要保存全局JavaVM变量然后在多线程开头使用genv = JavaVM.GetEnv()覆盖全局Env,否则mirai部分可能无法成功调用,目前已添加定时计划的实现代码详见

目前只确定win下可用,其他操作系统未测试,理论上liunx应该可用,生成so文件替换dll文件即可

如果vs报错找不到jni.h,把cpp/include文件夹加入到vs的库里面去(项目->属性->C++->常规),include文件夹里包含了jni.h以及他的依赖文件

3 使用方法:

以下2种选择任意一种

3.1 MiraiCP-Plugin插件配合mcl使用

展开

首先下载启动器(mcl), 下载地址 -> 笔者整合包 或 官方

下载release中MiraiCP-Plugin.7z文件

复制压缩包根目录下的.jar文件留着下面有用(配套插件)

打开cpp文件夹下的.sln文件从而打开vs的c++项目,或者用其他方式打开位于cpp文件夹下的c++项目

在procession.cpp里自定义你自己的代码

生成.dll文件

留意cpp/x64/Release/或cpp/x64/Debug(取决于你用哪个方案生成)这个路径下的.dll文件,留着下面有用

打开上面下载的mcl文件夹

把.jar文件(也就是配套插件)拷贝进mcl的plugin文件夹下

运行一次mcl,然后不管有无报错,不要登录,直接退出(目的是生成data路径)

打开mcl目录下的data/miraiCP路径(可能名字随着mirai版本的迭代会更改,包含MiraiCP即可),把上面的.dll文件复制进来

或把.dll文件放到任意位置,然后在data/miraiCP(可能名字随着mirai版本的迭代会更改,包含MiraiCP即可)下创建一个miraicp.txt把.dll的绝对路径写进去并不要写其他东西

运行mcl

3.2 使用MiraiCP-Loader整合包

展开

下载release中的MiraiCP-Loader.7z

打开cpp文件夹下的.sln文件从而打开vs的c++项目,或者用其他方式打开位于cpp文件夹下的c++项目

在procession.cpp里自定义你自己的代码

生成.dll文件

留意cpp/x64/Release/或cpp/x64/Debug(取决于你用哪个方案生成)这个路径下的.dll文件,留着下面有用

更改run.bat文件里的启动参数,以[qq号,密码和mirai-demo.dll路径(也就是上一步的.dll,可以复制出来,run.bat里可填相对路径或绝对路径),是否检测更新(可选,如果检查输入1否则不填)]格式填写

运行run.bat

如果有其他问题,欢迎提交issue和提交PR贡献

更新方式

下载release包

覆盖旧的.mirai.jar插件或者.jarloader

把cpp文件夹下的全部单个文件覆盖(json和include文件夹不需要),主要为pch.h(预编译头文件),pch.cpp(dll入口点),tools.h(各种事件及对象类声明),tools.cpp(tools.h里的声明的实现),constants.h(常量表)

TODO

许可

Copyright (C) 2020-2021 Eritque arcus and contributors.

This program is free software: you can redistribute it and/or modify

it under the terms of the GNU Affero General Public License as

published by the Free Software Foundation, either version 3 of the

License, or any later version(in your opinion).

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License

along with this program. If not, see .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值