Mirai is a high-performance multi-platform library, as well as a framework, providing chatting protocol support for Tencent QQ.
Mirai is designed to handle all sorts of messaging jobs that can be automatically done by bots in a perfect way.
Tencent QQ: A modern messaging software used by all Chinese netizens.
Development document: docs/mirai.md
Mirai is able to run as plugin-supported framework.
Mirai is building a community (with mirai-console
) that allows developers to share their plugins, and for users to install plugins quickly.
- (Official)
Java
orKotlin
: Make Jar plugin for mirai-console directly and share with other developers through the plugin center. - (Official)
Kotlin Script
: mirai-kts supports plugins using Kotlin Scripts (kts
)(OpenJDK 8+ only,except Android) - (Official) Native languages like
C
,C++
: mirai-native supports plugins from CoolQ (Windows JREx86
only / withWine
) - (Official)
JavaScript
: mirai-js supports plugins usingJavaScript
and inter-operate with mirai on JVM directly. - (Official) Any language:Use HTTP API from mirai-api-http
Though only Jar plugins are supported officially, you can use these bridges that are created and maintained by the community:
- (Community)
Python
: python-mirai A Bot framework based onmirai-api-http
. - (Community)
JavaScript
(Node.js
): node-mirai The Node.js SDK for mirai. - (Community)
Go
: gomirai The GoLang SDK for mirai. - (Community)
Mozilla Rhino
: mirai-rhinojs-sdk The Mozilla Rhino (JavaScript) SDK for mirai. - (Community)
Lua
: lua-mirai The Lua SDK for mirai-core, supporting Java extensions that act as a bridge between Java and natrive Lua. - (Community)
C++
: mirai-cpp A simple C++ SDK usingmirai-api-http
for ALL platforms. - (Community)
C++
: miraipp A sophisticated, modern mapping formirai-http-api
to C++, providing development documents. - (Community)
Rust
: mirai-rs The Rust mapping formirai-http-api
.
You can install mirai as a library into your project.
Mirai is only published on jcenter
, therefore please ensure you have the jcenter()
repository added in your build.gradle
.
repositories{
jcenter()
}
Then add dependency to dependencies
block, following:
If your project is a multiplatform project, you need to add dependencies for each platform respectively.
If your project is not a multiplatform project, add the platform-specific dependency only.
Replace VERSION
with the newest version, say
jvm
implementation("net.mamoe:mirai-core:VERSION")
common
implementation("net.mamoe:mirai-core-common:VERSION")
android
implementation("net.mamoe:mirai-core-android:VERSION")
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.mamoe</groupId>
<artifactId>mirai-core-qqandroid</artifactId>
<version>0.23.0</version> <!-- 替换版本为最新版本 -->
</dependency>
</dependencies>
All kinds of contributions are welcomed.
If you hold a interest in helping us implementing Mirai on JS, iOS or Native platforms, please email us [email protected]
.
If you meet any problem or have any questions, feel free to file an issue. Our goal is to make Mirai easy to use.
Thanks to JetBrains for allocating free open-source licences for IDEs such as IntelliJ IDEA.
Copyright (C) 2019-2020 Mamoe Technologies and mirai 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 (at your option) any later version.
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 <http://www.gnu.org/licenses/>.