mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-23 02:10:16 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ef08b044c7
42
README.md
42
README.md
@ -1,21 +1,20 @@
|
||||
# Mirai
|
||||
|
||||
一个以<b>TIM QQ协议(非web)</b>驱动的JAVA(+Kotlin) QQ机器人服务端核心
|
||||
我们坚持免费与开源
|
||||
采用服务端-插件模式运行,同时提供独立的协议层库
|
||||
**我们承诺项目的所有模块均开源**
|
||||
|
||||
项目处于快速开发阶段
|
||||
项目处于开发阶段,学生无法每日大量更新。
|
||||
项目还有很多未完善的地方, 欢迎任何的代码贡献, 或是 issue.
|
||||
部分协议来自网络上开源项目
|
||||
一切开发旨在学习, 请勿用于非法用途
|
||||
一切开发旨在学习,请勿用于非法用途
|
||||
|
||||
<br>
|
||||
## 抢先体验
|
||||
核心框架结构已经开发完毕,一些核心功能也测试完成。
|
||||
仅需几分钟就可以测试 Mirai.
|
||||
现在你可以登录小号来测试 Mirai.
|
||||
即使测试消息时未发现冻结情况,我们也无法100%保证账号冻结不会发生。
|
||||
|
||||
A JAVA(+Kotlin) powered open-source project under GPL license<br>
|
||||
It use protocols from <i>TIM QQ</i>, that is, it won't be affected by the close of <i>Smart QQ</i><br>
|
||||
The project is all for <b>learning proposes</b> and still in <b>developing stage</b><br>
|
||||
|
||||
|
||||
## 抢先体验
|
||||
现在你可以使用 Mirai 内置的一些测试qq号体验 Mirai, 但我们现在还不建议你使用自己的 qq 号登录
|
||||
1. Clone
|
||||
2. Import as Maven project
|
||||
3. Run [MiraiMain](mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java#L7)
|
||||
@ -44,13 +43,11 @@ FriendMessageEvent::class.hookAlways{
|
||||

|
||||

|
||||
|
||||
不过我们还正在努力做发送图片
|
||||
发送图片已经完成,但我们还在开发上传图片至服务器。
|
||||
现在你可以通过发送一张图片给机器人账号,再让机器人账号发送这张图片。你可以查看 [Image](src/main/java/net/mamoe/mirai/message/Image.kt)
|
||||
|
||||
## 代码结构
|
||||
Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
与插件相关性强(或其他在二次开发中容易接触)的部分尽量使用 Java 完成,
|
||||
若使用 Kotlin, 我们会通过 Java interface 实现或 javadoc 帮助未接触过 Kotlin 的开发者.
|
||||
即使你完全不了解 Kotlin, 你也可以正常开发.
|
||||
## 语言使用说明
|
||||
我们使用 Kotlin,但我们也会保留对 Java 和 Java开发者的支持。
|
||||
|
||||
# TODO
|
||||
- [x] 事件(Event)模块
|
||||
@ -64,10 +61,11 @@ Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
- [ ] Network - Events
|
||||
- [ ] Bot - Friend/group list
|
||||
- [ ] Bot - Actions(joining group, adding friend, etc.)
|
||||
- [ ] Message Section **(Working on)**
|
||||
- [x] Message Section
|
||||
- [ ] Image uploading **(Working on)**
|
||||
- [ ] Contact
|
||||
- [ ] UI
|
||||
- [ ] Console
|
||||
|
||||
<br>
|
||||
|
||||
@ -81,6 +79,14 @@ Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
...
|
||||
```
|
||||
|
||||
# Mirai
|
||||
|
||||
<br>
|
||||
|
||||
A JAVA(+Kotlin) powered open-source project under GPL license<br>
|
||||
It use protocols from <i>TIM QQ</i>, that is, it won't be affected by the close of <i>Smart QQ</i><br>
|
||||
The project is all for <b>learning proposes</b> and still in <b>developing stage</b><br>
|
||||
|
||||
# Usage
|
||||
## Requirements
|
||||
- Java 11 or higher
|
||||
|
@ -56,4 +56,8 @@ public class MiraiAPI {
|
||||
return new Bot(qq);
|
||||
}
|
||||
|
||||
public static void addBot(long qq, String password){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,6 +16,12 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.mamoe</groupId>
|
||||
<artifactId>mirai-api</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@ -1,7 +1,18 @@
|
||||
package net.mamoe.mirai;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class MiraiConsole {
|
||||
|
||||
|
||||
public static void main(String[] args){
|
||||
System.out.println(">>> starting Mirai");
|
||||
MiraiAPI.startMirai(args);
|
||||
}
|
||||
|
||||
public static void processCommand(String command){
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -154,23 +154,8 @@ public final class MiraiServer {
|
||||
|
||||
private void initQQConfig(File qqConfig) {
|
||||
this.qqs = new MiraiConfig(qqConfig);
|
||||
|
||||
MiraiConfigSection<Object> section = new MiraiConfigSection<>();
|
||||
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
getLogger().info("Input a " + LoggerTextFormat.RED + " QQ number " + LoggerTextFormat.GREEN + "for default botNetworkHandler");
|
||||
getLogger().info("输入用于默认机器人的QQ号");
|
||||
long qqNumber = scanner.nextLong();
|
||||
getLogger().info("Input the password for that QQ account");
|
||||
getLogger().info("输入该QQ号的密码");
|
||||
String qqPassword = scanner.next();
|
||||
|
||||
section.put("password", qqPassword);
|
||||
section.put("owner", "default");
|
||||
|
||||
this.qqs.put(String.valueOf(qqNumber), section);
|
||||
this.qqs.save();
|
||||
getLogger().info("QQ account initialized; changing can be made in Config file: " + qqConfig.toString());
|
||||
getLogger().info("QQ 账户管理初始化完毕");
|
||||
}
|
||||
|
||||
private void onEnabled() {
|
||||
|
Loading…
Reference in New Issue
Block a user