mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-05 00:10:13 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
87532418e5
49
README.md
49
README.md
@ -7,30 +7,45 @@
|
||||
协议来自网络上开源项目
|
||||
一切开发旨在学习, 请勿用于非法用途
|
||||
|
||||
### 代码结构
|
||||
Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
与插件相关性强(或其他在二次开发中容易接触)的部分尽量使用 Java 完成,
|
||||
若使用 Kotlin, 我们会通过 Java interface 实现或 javadoc 帮助未接触过 Kotlin 的开发者.
|
||||
即使你完全不了解 Kotlin, 你也可以正常开发.
|
||||
|
||||
### 抢先体验
|
||||
## 抢先体验
|
||||
现在你可以使用 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)
|
||||
|
||||
#### 事件 Hook (Kotlin)
|
||||

|
||||
### 事件 Hook (Kotlin)
|
||||
#### java:
|
||||
```
|
||||
MiraiEventHook.onEvent(FriendMessageEvent.class)
|
||||
.handler(a -> {
|
||||
if(a.getMessageString().equals("你好"))
|
||||
a.getQQ().sendMessage("你好!");
|
||||
})
|
||||
.mountAlways();
|
||||
```
|
||||
#### kotlin:
|
||||
```
|
||||
FriendMessageEvent::class.hookAlways{
|
||||
if(it.message() valueEquals "你好")
|
||||
it.qq.sendMessage("你好!")
|
||||
}
|
||||
```
|
||||

|
||||
|
||||
#### 图片测试
|
||||
### 图片测试
|
||||
**现在可以接受图片消息**(并解析为消息链):
|
||||

|
||||

|
||||
|
||||
不过我们还正在努力做发送图片
|
||||
|
||||
### TODO
|
||||
## 代码结构
|
||||
Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
与插件相关性强(或其他在二次开发中容易接触)的部分尽量使用 Java 完成,
|
||||
若使用 Kotlin, 我们会通过 Java interface 实现或 javadoc 帮助未接触过 Kotlin 的开发者.
|
||||
即使你完全不了解 Kotlin, 你也可以正常开发.
|
||||
|
||||
# TODO
|
||||
- [x] 事件(Event)模块
|
||||
- [ ] 插件(Plugin)模块 **(Working on)**
|
||||
- [x] Network - Touch
|
||||
@ -48,11 +63,11 @@ Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持).
|
||||
|
||||
<br>
|
||||
|
||||
## 使用方法
|
||||
### 要求
|
||||
# 使用方法
|
||||
## 要求
|
||||
- Java 11 或更高
|
||||
- Kotlin 1.3 或更高
|
||||
### 插件开发
|
||||
## 插件开发
|
||||
``` text
|
||||
to be continued
|
||||
...
|
||||
@ -65,11 +80,11 @@ 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
|
||||
# Usage
|
||||
## Requirements
|
||||
- Java 11 or higher
|
||||
- Kotlin 1.3 or higher
|
||||
### Plugin Development
|
||||
## Plugin Development
|
||||
``` text
|
||||
to be continued
|
||||
...
|
||||
|
@ -1,6 +1,10 @@
|
||||
package net.mamoe.mirai;
|
||||
|
||||
|
||||
import net.mamoe.mirai.event.MiraiEventHook;
|
||||
import net.mamoe.mirai.event.MiraiEventManager;
|
||||
import net.mamoe.mirai.event.events.qq.FriendMessageEvent;
|
||||
|
||||
/**
|
||||
* @author Him188moe
|
||||
*/
|
||||
@ -11,4 +15,4 @@ public final class MiraiMain {
|
||||
server = new MiraiServer();
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> server.shutdown()));
|
||||
}
|
||||
}
|
||||
}
|
@ -95,6 +95,11 @@ public class MiraiEventHook<T extends MiraiEvent> implements Closeable {
|
||||
MiraiEventManager.getInstance().registerHook(this);
|
||||
}
|
||||
|
||||
public void mountAlways(){
|
||||
if(this.handler == null)this.handler = a -> {};
|
||||
MiraiEventManager.getInstance().hookAlways(this);
|
||||
}
|
||||
|
||||
public void mountOnce(){
|
||||
if(this.handler == null)this.handler = a -> {};
|
||||
MiraiEventManager.getInstance().hookOnce(this);
|
||||
|
@ -7,8 +7,8 @@ import java.io.IOException;
|
||||
|
||||
public class ImageOutputTest {
|
||||
public static void main(String[] args) throws IOException {
|
||||
BufferedImage image = ImageIO.read(new File((System.getProperty("user.dir") + "/VerificationCode.png").replace("//","/")));
|
||||
CharImageConverter charImageConvertor = new CharImageConverter(image,100);
|
||||
BufferedImage image = ImageIO.read(new File((System.getProperty("user.dir") + "/mirai.png").replace("//","/")));
|
||||
CharImageConverter charImageConvertor = new CharImageConverter(image,80);
|
||||
System.out.println(charImageConvertor.call());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user